1.dict字典
定义
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
创建
dict1 = { 'abc': 456 }
dict2 = { 'abc': 123, 98.6: 37 }
字典的方法
-
1.clear: 清空字典
-
2 copy:该方法会赋值给一个新的字典,内容和原子典一致,源字典改变,拷贝的字典不变。
-
3 fromkeys这个方法可以创建一个所有值一样的字典,然而并不晓得有什么用,大概还没遇到,源字典不变
-
4 get: 和d[key]的区别在于,若key不存在get方法不会报错,不影响程序运行,尤其是在爬虫的时候,可以避免程序出错。
-
5 items: 这个方法会将所有的键值对以元组的形式返回。
-
6 keys, values:返回keys 和value
- 7 pop: 这个方法和get有点像,但是有区别,他会返回对应的值后,删除该键值对。
- 9 popitem
- 10 setdefault:功能上与get一致,但是他会向字典里面添加键,值默认为None。
- 11 update:类似于合并字典,但是如果有相同的键合并的字典会被新字典的值覆盖。
2.集合
特性
- 集合和列表非常相似
不同点: - 集合中只能存储不可变对象
- 集合中存储的对象是无序(不是按照元素的插入顺序保存)
- 集合中不能出现重复的元素
创建
方法
3.判断语句(要求掌握多条件判断)
- while
- for
4.三目表达式
为真时的结果 if 判断条件 else 为假时的结果(注意,没有冒号)
x = x+1 if x%2==1 else x
a,b,c=10,20,6
min_num = a if a<b and a<c else (b if b<a and b<c else c)
print(min_num)
缺点
三目表达式与推导式提高了性能,缺损失了一定的可读性
5.列表推导式
获取从0-10返回内所有偶数的平方
rt_list = []
for i in range(10):
if i%2 ==0:
rt_list.append(i * i)
[i * i for i in range(10) if i % 2 == 0 ]
>>> [(i,j) for i in range(1,10) for j in range(10) if i <= j ]
6.字典推导式
获取字符出现偶数次的所有字母和次数组成的字典,并将对应次数翻倍
stat = {'a':2,'b':3,'c':4,'d':5,'e':6}
rt_dict = {}
for k,v in stat.items():
if v % 2 == 0:
rt_dict[k] = v * 2
print(rt_dict)
{ k,v*2 for k,v in stat.items() if v%2 == 0}