一 列表与enumerate
1,extend与append的区别:
extend : 将被合并的集合的所有值给主动进行合并的集合 ,最终结果为两个集合的元素个数的总和
append: 将被添加的集合作为一个整体,list1 的元素等于之前个数加1
两个列表页可以相加 用‘+’
2. 简单的列表推导式:
list1 = range(1, 101)
list4 = [x for x in list1 if x % 2 == 1]
print(list4)
list5 = ['张三', '张飞', '张益达', '关云长', '赵子龙']
list6 = [x for x in list5 if x.startswith('张')]
print(list6)
3,sum 与sort
sum(list):表示对list里所有的值求和
list.sort()对list进行排序,
list.sorted()也是排序,但是会改变原来list的顺序
倒叙:reverse默认为false
list3 = sorted(list, reverse=True)
4 enumerate的用法:
for index,value in enumerate(list,start):
print(index,value)
for 后面的index表示索引值,value表示要打印元素的值。list表示要遍历的对象,start表示索引开始的数值。
其中list可以加切片list[x:y],表示只取list里某个区间的值,比如前10个 list[:10] (虽然右边取不到,但是列表从0开始计数)
list1 = [('a', 'A'), ('b', 'B'), ('c', 'C')]
for x,(y,z) in enumerate(list1):
print(y,z)
输出:
0 a A
1 b B
2 c C
加点难度:
list2 = [(1, [2, 3]), (4, [5, 6]), (7, [8, 9])]
for q, (y, (z, x)) in enumerate(list2):
print(q, y, z, x)
# 输出:
0 1 2 3
1 4 5 6
2 7 8 9
换一种方式:
list = [
[
['a'],
['b']
],
[
['c'],
['d']
],
[
['e'],
['f']
]
]
# 两种方式遍历 遍历:从第一个找到最后一个
for x in list:
for y in x:
for z in y:
print(z)
# 这个是上一个的enumerate用法
for x, [[y], [z]] in enumerate(list):
print(y, z)
#输出:
a b
c d
e f
还有一个没写出来的,不知道怎么写
list3 = [(1, [2]), (4, 5, [6, 7]), [8, 9, 10, [11, 12, 13]]]
二 元组:
元组里面的元素是不可变的元组和列表的区别: 列表可以任意进行增删改查等操作,元组只可以进行查操作
# 创建元组的两种方式
tp1 = ()
tp2 = tuple
如果元组在创建的时候没有放入元素,那么这个元组就没有意义
元组也可以进行相加
三 字典:
字典 key:键 value: 值 键值对 dic = {'key':'value'}
声明字典的两种方式
dic1 = {} , dic2 = dict()
dic3 = {
'name': '小明',
'age': 17,
# True 代表男还是女,是自己定的
'sex': True,
'height': 1.76,
'fond': ['打游戏', '学习', '写代码', '陪妹子逛街']
}
1 查:print(dic3['fond']) # 找到'键':fond
2 增,改:dic3['grilFriend'] = '小花'
有的话,修改,没有的话,增加。 可以给添加上去,跟上面写的方式是一样的3 删:dic3.pop('key'),例子:dic3.pop('grilFriend') # 删除指定元素
4 打印键值:print(dic3.keys()),print(dic3.values())
5 判断是否在字典里: 注意是keys() 和values()
if 'fonds' in dic3.keys():
if '小明' in dic3.values():
6 items()用法:
dic4 = {
'name': '小兰',
'age': 12,
'fond': '美食',
'info': {
'description': '很好的一个人',
'phone': '12345',
'friend': [
{
'friend_name': '小明',
'friend_age': 17
},
{
'friend_name': '小王',
'friend_age': 16
},
{
'friend_name': '小张',
'friend_age': 14
}
]
}
}
获取dic4里的所有的键值:
for key in dic4:
value = dic4[key]
print(key, value)
items()用法:
for key, value in dic4.items():
print(key, value)