1. list 和 tuple
1.1 list
- list 是 Python 内置的一种数据类型,有些类似 Java 的 List 集合。
- list是一种可变有序的集合,集合元素可以重复。
- 以下通过代码来演示 list 的用法
# 1、定义 list:list 可以定义不同数据类型的集合
L = ['Tom', 'Apple', 123, True] # 注意逗号后面要加空格(可能是编码规范)
print(L) # ['Tom', 'Apple', 123, True]
# 2、对 list 进行增删改查操作
# 查询:下标从 0 开始
print(L[0]) # Tom
print(L[1]) # Apple
print(L[2]) # 123
print(L[3]) # True
print(L[-1]) # 获取最后一个元素
print(L[-2]) # 获取倒数第二个元素
# 添加 append/insert
L.append('last') # 往 list 中追加元素到末尾
L.insert(1, 'first') # 将 first 插入到 list 中第二个位置
print(L) # ['Tom', 'first', 'Apple', 123, True, 'last']
# 删除 pop
L.pop() # 删除 list 中末尾元素
L.pop(1) # 删除 list 索引位置为 1 的元素
print(L) # ['Tom', 'Apple', 123, True]
# 修改
L[1] = 1
print(L)
# 3、list 的其他用法
L1 = ['T', False, L];
print(L1) # ['T', False, ['Tom', 1, 123, True]]
print(len(L1)) # 3
print(L1[2][0]) # Tom
L2 = [1, 3, 5, 6, 0]
L2.sort()
print(L2) # [0, 1, 3, 5, 6]
1.2 tuple(元组)
tuple 与 list 类似,只是 tuple 一旦初始化就不能再修改,由此其储存的数据的安全性比 list 高
# tuple 的用法,它没有 append(),insert()方法
T = ('a', 'b', ['A', 'B']) # 注意写法,是()
# 请读者自行感受其关系
print(T[0]) # a
print(T[2][1]) # B
T[2][0] = 'M'
T[2][1] = 'N'
print(T) # ('a', 'b', ['M', 'N'])
1.3 总结
list 与 tuple 一个能变,一个不能变
2. dict 和 set
2.1 dict
Python 内置的字典(dictionary),类似 JAVA 中的 map,使用键-值,具有极快的查找速度
# 1、定义 dict
d = {'Tom': 10, 'Bob': 12, 'Kiwi': 2}
print(d['Tom']) # 10
# 2、操作
# 删除
d.pop('Tom')
print(d) # {'Bob': 12, 'Kiwi': 2}
# 遍历:
# 对 key 进行迭代
for key in d1:
print(key)
# Tom
# Bob
# Kiwi
# 对 key 和 val 进行迭代
for key, val in d1.items():
print(key, '-->', val)
# Tom --> 10
# Bob --> 12
# Kiwi --> 2
注意:
- 字典对象的 get() 方法可以获取指定“键”对应的“值”
- 字典对象的 items() 方法可以返回字典中的“键-值对”列表
- 字典对象的 keys() 方法可以返回字典的“键”列表
- 字典对象的 values() 方法可以返回字典的“值”列表
2.2 set
- 和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
- 可以用add(key)添加元素,remove(key)删除元素
- 对 str 的操作
s = 'aaa'
s.replace('a', 'b')
print(s) # aaa
s1 = s.replace('a', 'b')
print(s1) # bbb