博客
关于我
Python列表/元组/字典和集合使用
阅读量:797 次
发布时间:2023-03-07

本文共 2979 字,大约阅读时间需要 9 分钟。

一、Python 序列

Python 序列(Sequence)是指按特定顺序依次排列的一组数据,它们可以占用一块连续的内存,也可以分散到多块内存中。通过每个值所在位置的编号(称为索引)访问它们。


1、序列索引

在序列中,每个元素都有属于自己的编号(索引)。索引值从 0 开始递增。如果使用负值作为索引,则从 -1 开始。


2、序列切片

切片操作是访问序列中元素的另一种方法,可以生成一个新的序列。语法格式为:sname[start : end : step],其中:

  • sname 表示序列名称。
  • start 表示切片的开始索引,默认为 0。
  • end 表示切片的结束索引,默认为序列长度。
  • step 表示步长,默认为 1。

示例:

str = "对字符串进行切片操作"
print(str[:2]) # 取索引区间为[0,2]之间的字符
print(str[::2]) # 隔 1 个字符取一个字符
print(str[:]) # 取整个字符串
print(str[1:6:2]) # 取索引区间为[1,6]之间的字符,每隔 2 个字符取一个

3、序列相乘

在 Python 中,使用数字 n 乘以一个序列会生成新的序列,其内容为原序列重复 n 次。示例:

str = "序列相乘"
print(str * 3) # 结果:序列相乘序列相乘序列相乘

4、检查元素是否包含在序列中

使用 in 关键字检查某元素是否为序列成员。语法格式为:value in sequence。示例:

str = "检查元素是否包含在序列中"
flag = "元素" in str
print(flag) # True
print("元素2" in str) # False

二、列表(List)

列表是 Python 中最强大的序列类型。列表中的元素可以存储任何数据类型,且支持高效的增删改查操作。列表用方括号 [ ] 表示。


1、创建列表

创建列表有两种方式:

  • 使用 [ ] 直接创建
    emptyList = []  # 空列表
    list1 = ["Python", 1, 2, ["三", 4, 5], 3.0]
  • 使用 list() 函数创建
    list1 = list("hello")  # 将字符串转换为列表
    tuple1 = ('Python', 'Java', 'C++', 'JavaScript')
    list2 = list(tuple1) # 将元组转换为列表

  • 2、删除列表

    使用 del 关键字删除列表:

    list1 = ["Python", 1, 2, 3]
    del list1

    Python 的垃圾回收机制会自动销毁不再使用的列表。


    3、列表基本操作

    3.1 访问元素

    • 使用索引访问单个元素
      list1 = ["Python", 1, 2, ["三", 4, 5], 3.0]
      print(list1[3]) # 输出 ["三", 4, 5]
      print(list1[-3]) # 输出 3.0
    • 使用切片访问子列表
      print(list1[1:4])  # 输出 [1, 2, ["三", 4, 5]]
      print(list1[1:4:2]) # 输出 [1, ["三", 4, 5]]
      print(list1[-4:-1]) # 输出 [1, 2]

    3.2 添加元素

    • append() 方法
      list1.append("新元素")
    • insert() 方法
      list1.insert(2, "插入的元素")
    • extend() 方法
      list1.extend([1, 2, 3])

    3.3 删除元素

    • del 语句
      list1 = ["Python", 1, 2, 3]
      del list1[2]
    • pop() 方法
      list1.pop()  # 删除最后一个元素
      list1.pop(2) # 删除指定索引的元素
    • remove() 方法
      list1.remove(1)  # 删除元素 1

    三、元组(Tuple)

    元组是不可变序列,元素存储在小括号 ( ) 中。元组的元素无法修改,但可以通过拼接生成新的元组。


    1、创建元组

    • 使用 ( ) 创建
      tup1 = ("Python", 1, [2, 'a'], ("abc", 3.0))
    • 使用 tuple() 函数创建
      tup2 = tuple("hello")  # 将字符串转换为元组
      tup3 = tuple([1, 2, 3]) # 将列表转换为元组

    2、访问元组元素

    • 使用索引
      tup1 = ("http://www.baidu.com", 8080)
      print(tup1[0]) # 输出 "http://www.baidu.com"
      print(tup1[-1]) # 输出 8080
    • 使用切片
      print(tup1[1:4])  # 输出 (8080,)
      print(tup1[1:4:2]) # 输出 (8080,)
      print(tup1[-4:-1]) # 输出 (, )

    四、字典(Dict)

    字典是 Python 中唯一的映射类型,存储键值对。字典是无序的,可变的序列。


    1、创建字典

    • 使用 { } 创建
      scores = {'数学': 95, '英语': 92, '语文': 84}
    • 使用 dict.fromkeys() 方法创建
      knowledge = ['语文', '数学', '英语']
      scores = dict.fromkeys(knowledge, 60) # 默认值为 60

    2、访问字典元素

    • 通过键访问
      dic = {'two': 0.65, 'one': 88, 'three': 100, 'four': -59}
      print(dic['one']) # 输出 88
    • 通过 get() 方法访问
      print(dic.get('one'))  # 输出 88
      print(dic.get('five', '该键不存在')) # 输出 '该键不存在'

    五、集合(Set)

    集合是无序且不重复的序列,主要用于存储不可变数据类型。


    1、创建集合

    • 使用 { } 创建
      set1 = {1, 'c', 1, (1, 2, 3), 'c'}
    • 使用 set() 函数创建
      set2 = set("www.baidu.comt")
      set3 = set([1, 2, 3, 4, 5])

    2、集合操作

    • 交集、并集、差集
      set1 = {1, 2, 3}
      set2 = {3, 4, 5}
      print(set1 & set2) # 交集:{3}
      print(set1 | set2) # 并集:{1, 2, 3, 4, 5}
      print(set1 - set2) # 差集:{1, 2}
      print(set1 ^ set2) # 对称差集:{1, 2, 4, 5}
    • 删除元素
      set1.remove(1)  # 删除元素 1
      set1.discard(1) # 删除元素 1,不会抛出错误

    通过以上内容,可以清晰地了解 Python 中序列、列表、元组、字典和集合的基本使用方法及其区别。

    转载地址:http://teofk.baihongyu.com/

    你可能感兴趣的文章