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



