文章目录
1. 序列赋值
2. 重复打印可迭代序列(列表|元组|字符串)N次
- 可迭代序列(列表|元组|字符串)可以用
*
乘的方式重复N次集合|字典
不能用这种方式重复N次
3. 列表|元组|字符串去重
-
列表|元组|字符串去重
- 使用
set()
可以去重 - 使用字典
{}.fromkeys()
也可以去重
- 使用
-
去重之后按照原来的索引进行排序,保证原来的次序
list.index(elem)
按照这个规则进行排序即可,可以获取elem
这个值在list
中的索引,然后按照这个索引进行排序即可
4. 原地交换两个变量的值a,b=b,a
5. 带索引的遍历 (enumerate)
在迭代可迭代的序列的时候,可以使用
for index,val in enumerate(iterable,start=0)
,来给遍历的元素提供一个索引,默认start是从0开始的扫描二维码关注公众号,回复: 13511096 查看本文章
6. 合并字符串序列为一个字符串(join)
采用
s.join()
的方式可以将一个字符串序列合并为一个字符串,其中s
是字符串合并的时候两个间隔字符串之间插入的字符串
7. 统计可迭代序列中元素出现的个数
- 最常使用的是
iterable.count(elem)
- 使用
Counter(iterable)
,可以返回一个字典,里面是元素为键,出现的个数为值的键值对
8. Python中合并字典的技巧
-
首先介绍Python中合并字典的一般方法(update)
-
经典方式使用**解包然后再使用dict或者{}合并字典
-
使用dict.items()
首先要明白一点
dict.items()
是可以求并集的,并且并集的结果是一个set
-
使用字典推导式
字典推导式
{k:v for k,v in d.items()}
9. 可迭代序列的元素的唯一性
使用set()
先用
set
转换为集合,然后通过len(set)
和len(iterable)
是否相等去判断,如果相等,证明可迭代序列里的元素是唯一的,如果不相等,证明可迭代序列中有重复元素
-
使用iteralbe.count()
使用
iterable.count(elem)
遍历可迭代序列,如果有大于1的结果,就返回False
,如果没有就返回True
-
使用Counter(),查看Values()的值有没有大于1的,如果有大于1的就证明非唯
Counter(iterable)
返回一个字典,里面是元素和元素出现的次数的键值对,可以通过看values
的值,来看可迭代对象的元素是否是唯一的
10. 根据条件过滤掉可迭代序列中的一些不满足条件的元素
-
使用列表推导式
[x for x in iterData if x expression]
-
filter(func,data)
使用
filter
过滤函数,会将data里面的数据逐个的带入到func当中,如果func的返回为True,就保留这个元素,如果为假,就丢弃这个元素
11. 使用三元操作符来实现条件赋值
-
单层的三元操作符赋值语句
val = a if expression else b
-
双层的条件赋值语句
a if expression1 else (b if expression else c)
,简单来说就是在else里面再嵌套一层if else
表达式语句
12. 字典排序
sorted(dict.items(),key)
使用
dict.items()
来进行排序,排序的结果是一个列表,然后通过dict
再转换为字典
-
先给字典通过zip转换为键值对元组,然后再进行排序
这里有个坑就是
zip
对象是一个迭代器,所以只能使用一次,zip
对象如果重复使用,就会得到空结果
这里面的一个本质的东西就是zip
对象是一个迭代器,只能往前,不能往后,并且不能重复的使用
13. 对字典的键值进行翻转
- 采用字典推导式,
{val:key for key,val in dict.items()}
- 采用
dict
构造和zip
函数结合dict(zip(dict.values(),dict.keys()))
14. == 判断符号在容器序列中的含义
-
str1 == str2
==
两边的字符串str1
和str2
必须完全相同,才能返回True
,否则返回False- 两个空字符串
""
是相等的 - 空字符串的
bool
值是False
-
list1 == list2
- 列表和字符串一样,也是要求两边的内容完全一样,不但内容一样,顺序也要一样
- 空列表的
bool
结果也是False
-
tuple1 == tuple2
- 元组和列表以及字符串的比较规则是一样的
- 两个空元组也是相等的
- 注意的是元组只有一个元素的时候要加上逗号
,
,不然就是一个单个元素,不是元组
-
set1 == set2
- 集合无序,所以两个集合相等就是集合的元素个数和内容相等即可
- 空集合只能通过
set()
创建,注意{}
这是一个空字典
-
dict1 == dict2
字典相等就是对应的键值对相等,对键值对的顺序没有要求