目录
列表
列表操作
遍历列表
- 枚举方式
for item in lst:
# 按列表中元素的顺序,每一循环取一个元素
- 索引方式
for i in range(len(lst)):
- 枚举+索引方式
for i, item in enumerate(lst):
删除列表
del lst
分片赋值
# lst = [start:end:step] 至少一个冒号,步长可正可负
lst = [1, 2, 3]
lst[1:2] # 用冒号,包含
lst[1:] # 第一个元素之后的内容
lst[:-1] # 最后一个元素之前的内容
lst[::-1] # 倒叙输出
# 注:列表分片只支持最外层的分片
列表运算
# 列表运算符:+ += * *= in
# a、b为列表
a = a + b # a列表的首地址变更
a += b # a列表保持原来的首地址
# 元素 in 列表 返回True或False
列表方法
所谓方法,就是指列表自身拥有的函数
lst = [1, 2, 3]
append() # lst = [1, 2, 3, 4] 追加新元素
extend() # 将多个元素(放在一个列表中)添加到该列表
insert() # 在指定位置插入新元素
pop(index=-1) # 默认删除列表最后一个元素,可指定索引值
remove() # 移除指定元素(第一次出现的地方)
sort(key=None, reverse=False)
'''
当列表中所有元素之间可比较时(按ASCII码),对列表进行排序。
默认升序,将reverse参数设置为True时按降序排列;
对于复杂列表排序,需要用到key参数。
key参数通常是一个函数,列表中所有元素按照该函数值大小排序
'''
lst = [['xiaohua', 1], ['xiaoyang', 4], ['xiaohong', 2]]
lst.sort(key=lambda item:item[1])
lst.sort(key=str.lower) # 不区分大小写排序
tips:列表随机打乱 用到random模块
random.shuffle(lst)
reverse() # lst = [3, 2, 1] 将列表逆转
count() # 传入元素名,返回出现次数
index() # 查找指定元素在列表中第一次出现的索引值
clear() # 将列表清空
内置函数
len(lst) # 返回列表中元素个数
max(lst) # 返回元素最大值
min(lst) # 返回元素最小值
cmp(lst1, lst2) # 比较两个列表的元素
元组
元组和列表基本类似,但由于元组属于不可变的数据类型(元组中数据不可被修改)
元组的创建速度要比列表快得多
tup = (1,) # 当元组里面只有一个元素时,注意加上逗号
字典
dic = {key1:value1, key2:value2·····}
key称为字典的键,value称为字典的值,两者合在一起称为字典的键值对
# 取值
dic = {'移动':10086, '电信':10001, '000':'空号'}
print(dic['移动']) # 根据key来取值
# 增加/删除
dic['联通'] = '我不知道'
dic['移动'] = 0000
# 当key不存在时,添加该键值对;当key存在时,修改以前的值
del dic['移动'] # 删除指定键对应的键值对
字典方法
dic = {'移动':10086, '电信':10001, '000':'空号'}
dic.pop('移动') # 通过key来删除
dic.update(another_dic) # 将两个字典合并,如果key重复,会被更新(用another_dic的value)
dic.get('移动') # 返回指定键对应的值,若不存在则返回None
dic.get('移动', 157) # 上面的进阶版
dic.get('my phone', 157) # 如果该字典中存在该键,返回字典中所对应的值;若不存在该键,则返回传入的第二个参数
# 上述例子的解释:字典中包含‘移动’这个键,所以返回字典中所对应的值 10086;不包含‘my phone‘这个键,所以返回传入的第二个参数157
dic.clear() # 删除七点中所有键值对
for i in dic: # 返回键
for i in dic.keys(): # 遍历字典中的所有键
for i in dic.values(): # 遍历字典中的所有值
for i in dic.items(): # 将键、值放在一个元组中输出
for key, values in dic.items() # 遍历字典中的键和值
其他操作
len(dic) # 返回键值对的长度
key in dic # 指定键是否在字典中,返回True或False