一、列表(list)

  1. 列表用[]表示:li1 = [18, 19, 20, 21, 22]
  2. 列表的本质为一种有序的集合
  3. 创建列表
# 创建空列表
li2 = []
li3 = list()
print(li2)
print(li3)
# 创建带有初始元素的列表
# 列表中的元素是可以不同的,但是一般相同
li4 = [1, 2, 3, 4, 5, 'good', True]
print(li4)
  1. 列表元素的访问
# 列表元素的访问
# 获取  列表名[下标]
li5 = [18, 19, 20, 21, 22]
print(li5[2])
# print(li5[5])  报错,因为列表越界

# 修改  列表名[下标] = 值
li6 = [18, 19, 20, 21, 22]
li6[2] = 30
print(li6[2])
  1. 列表的常用方法
# 列表的常用方法
# 计算元素个数
li7 = [1, 2, 3, 4, 5]
print(len(li7))
print(li7.__len__())

# 增
li8 = [1, 2, 3, 4, 5]
print(li8)
# 在末尾增加一个元素
li8.append(6)
print(li8)
# 在指定位置(某个下标处)插入元素,原数据按顺序后移
li8.insert(0, 100)
print(li8)
# 将参数列表中每一个元素都插入到原列表中
li8.extend([7, 8, 9])
print(li8)

# 删除列表中的元素
li9 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 按下标删除元素,默认为-1,返回删除的元素
li9.pop()
print(li9)
# 按元素值删除第一个出现的元素
li9.remove(4)
print(li9)

# 改
# 查
li10 = [1, 2, 3, 4, 4, 6, 7, 8, 6]
# 获取元素第一次出现的下标
print(li10.index(4))

# 反转
li11 = [1, 2, 3, 4, 5]
li11.reverse()
print(li11)

# 排序,默认升序
li12 = [0, 6, 3, 1, 9]
li12.sort()
print(li12)

# 删除整个列表
li13 = [0, 6, 3, 1, 9]
del li13
# print(li13) 报错,不存在此变量
  1. 注意:列表中的元素是可以不同的,但是一般相同

二、元组(tuple)

  1. 元组的本质也是一种有序集合
  2. 元组的创建
# 创建空元组
tu1 = tuple()
print(tu1, type(tu1))
tu2 = ()
print(tu2, type(tu2))

# 创建带有元素的元组
tu3 = (1, 2, 3, 4, 5)
print(tu3)
# 创建只有一个元素的元组,元组需要添加一个逗号,否则类型为数字类型
tu4 = (1,)
print(tu4)
  1. 元组元素的访问
# 元素的访问
tu5 = (1, 2, 3, 4, 5)
print(tu5[2])
  1. 常用方法
# 元组常用方法
# 计算元组个数
tu6 = (1, 2, 3, 4, 5)
print(len(tu6))

# 查
print(tu6.index(2))

# 元组的删除
del tu6
  1. 注意:元组不能够增加、修改,它在定义好之后就不能再修改了
  2. 列表和元组的切片与字符串相同

三、字典

  1. 字典是无序的,以键值对的方式存储数据(key-value
  2. 关于key
  • 每个键值对的key必须唯一
  • 不可变类型的数据才可以为key
  • key一般为字符串
  1. 字典的创建
# 字典
per = {'name': 'sunck', 'age': 18, 'height': 175, 'weight': 77}
print(per)
  1. 字典的访问
  2. 字典的获取
# 获取 字典名[key]
print(per['age'])
# print(per['money']) 报错
# 得到一个None值
print(per.get('money'))
  1. 字典的修改
# 修改,如果键不存在则为增加,键存在则为修改
per['weight'] = 75
print(per)
per['money'] = 9000000
print(per)
  1. 注意:
  • 一个字典有多个键值对,每个键值对用逗号隔开,键值对中的键与值用冒号连接
  • None是一种数据类型,叫做空类型,只有None这一个值,表示没有

四、综合练习题

# 将list[1, 2, 3, 4, 5, 1, 2, 3]去重,即输出[1, 2, 3, 4, 5]
l1 = [1, 2, 3, 4, 5, 1, 2, 3]
l2 = list(set(l1))
print(l2)

# 将dict{'1': 'a', '2': 'b', '3': 'c', '4': 'd'}的键和值互换,即输出{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
d1 = {'1': 'a', '2': 'b', '3': 'c', '4': 'd'}
d2 = {}
for key, value in d1.items():
    d2[value] = key
print(d2)

# 列表转字典
l3 = ['1', '2', '3', '4']
l4 = ['a', 'b', 'c', 'd']
print(dict(zip(l3, l4)))

# 将序列分解为单独的变量
l5 = [1, 2, 3]
x, y, z = l5
print(x, y, z)
for num in l5:
    print(num)

# 字母识词