一、公共操作
(一)运算符
运算符 | 描述 | 支持的容器类型 |
+ | 合并 | 字符串,列表,元组 |
* | 复制 | 字符串,列表,元组 |
in | 是否存在 | 字符串,列表,元组,字典 |
not in | 是否不存在 | 字符串,列表,元组,字典 |
1、+合并
# 1、字符串 str1 = 'aa' str2 = 'bb' str3 = str1 + str2 print(str3) # 2、列表 list1 = [1,2] list2 = [10,20] list3 = list1 + list2 print(list3) # 3、元组 t1 = (1,2) t2 = (10,20) t3 = t1 + t2 print(t3) ------------------------------------ aabb [1, 2, 10, 20] (1, 2, 10, 20)
# 集合没有+
# 字典没有+
2、*复制
# 列表 list1 = [1,2,3,4,5] list2 = list1*2 print(list2) # 元组 t1 = (1,2,3,4,5) t2 = t1*2 print(t2) # 字符串 str1 = "ggasdf" str2 = str1*2 print(str2) ------------------------------------ [1, 2, 3, 4, 5, 1, 2, 3, 4, 5] (1, 2, 3, 4, 5, 1, 2, 3, 4, 5) ggasdfggasdf
# 集合没有*
# 字典没有*
3、in与not in
# 1、字符串 print('a' in 'abcd') print('a' not in 'abcd') # 2、列表 list1 = ['a','b','c','d'] print('a' in list1) print('a' not in list1) # 3、元组 t1 = ('a','b','c','d') print('a' in t1) print('a' not in t1) # 4、集合 set1 = {1,2,3,4,5,6,7} print(1 in set1) # 5、字典 dict1 = {"张三":18,"李四":19} print(18 in dict1.values()) -------------------------- True False True False True False True True
(二)公共方法
函数 | 描述 |
len() | 计算容器中元素个数 |
del 或 del() | 删除 |
max() | 返回容器中元素最大值 |
min() | 返回容器中元素最小值 |
range(start,end,step) | 生成从start到end的数字,步长为step,供for循环使用 |
enumerate() | 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。 |
sum() | 序列求和 |
zip() | 合并序列 |
1、len()
list1 = [1,2,3,4,5,6,8,9,10] print(len(list1)) ------------------- 9
2、del()
t1 = (1,2,3,4,5) del t1 print(t1) # 报错
3、max()
list1 = [1,2,3,4,5,6,8,9,10,60] list2 = ["a","z","x","d","j"] print(max(list1)) print(max(list2)) print(min(list1)) print(min(list2)) ---------------------------- 60 z 1 a
4、enumerate()
list3 = ["张三","李四","王五","赵六"] for index,data in enumerate(list3): print(data) print(index) -------------------------- 张三 0 李四 1 王五 2 赵六 3
5、sum()
list1 = [1,2,3,4,5,6,8,9,10,60] print(sum(list1)) ---------------------------- 108
6、zip()
list4 = [1,2,3,4,5,6] list5 = [8,9,10,60] print(list(zip(list4,list5))) ------------------------- [(1, 8), (2, 9), (3, 10), (4, 60)]
(三)容器类型转换
1、tuple()
- 将某个序列转换成元组
list1 = [1,2,3,4,5,6] s1 = {10,20,30,40,50} print(tuple(list1)) print(tuple(s1)) -------------------------- (1, 2, 3, 4, 5, 6) (50, 20, 40, 10, 30)
2、list()
- 将某个序列转换成列表
t1 = ('a','b','c','d') s1 = {10,20,30,40,50} print(list(t1)) print(list(s1)) ----------------------------- ['a', 'b', 'c', 'd'] [50, 20, 40, 10, 30]
3、set()
- 将某个序列转换成集合
list1 = [1,2,3,4,5,6] t1 = ('a','b','c','d') print(set(list1)) print(set(t1)) -------------------------- {1, 2, 3, 4, 5, 6} {'d', 'a', 'b', 'c'}
二、推导式
[表达式 for 变量 in 列表 if 条件] {键:值 for 变量 in 字典 if 条件} {表达式 for 变量 in 集合 if 条件} (表达式 for 变量 in 元组 if 条件)
(一)列表推导式
- 用一个表达式创建一个有规律的列表或控制一个有规律列表。
- 创建一个空列表,追加1到10这几个数字
- for循环实现过程
list1 = [] for i in range(1,11): list1.append(i) print(list1) --------------------------- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- 列表推导式实现过程
list1 = [i for i in range(1,11)] print(list1) --------------------- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- 带if的列表推导式
- 将1到10的偶数添加到列表
- 方法一:利用步长实现
list1 = [i for i in range(0,11,2)] print(list1) -------------------------------- [0, 2, 4, 6, 8, 10]
- 方法二:if实现
list1 = [i for i in range(10) if i%2==0] print(list1) -------------------------------------- [0, 2, 4, 6, 8]
- 打印1-300的奇数,7的倍数不要
list1 = sum([i for i in range(1,301) if i%2==1 and i%7!=0]) print(list1) --------------------------------- 19413
(二)字典推导式
- 创建一个字典:字典key是1-5数字,value是这个数字的2次方
dict1 = {k:k**2 for k in range(1,6)} print(dict1) --------------------------- {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
- 将两个列表变为一个字典
list1 = ['name','age','gender'] list2 = ['Tom',20,'man'] dict1 = {list1[i]:list2[i] for i in range(len(list1))} print(dict1) ---------------------------------- {'name': 'Tom', 'age': 20, 'gender': 'man'}
- 提取字典中目标数据
computs = {'AUC':268,'HP':125,'DELL':201,'lenovo':199,'acer':99} # 需求:提取上述电脑数量大于等于200的字典数据 count1 = {key:value for key,value in computs.items() if value>=200} print(count1) --------------------------------------- {'AUC': 268, 'DELL': 201}
(三)集合推导式
- 计算数字1,2,3的平方数
set1 = {i**2 for i in range(1,4)} print(set1) ----------------------------------- {1, 4, 9}
- 输出非abc的字母
a = {x for x in "abracadabra" if x not in 'abc'} print(a) -------------------------------------- {'d', 'r'}
(四)元组推导式
- 生成包含1到9数字的元组
a = (x for x in range(1,10)) print(a) # 返回的是生成器对象 # <generator object <genexpr> at 0x0000026377564190> # 使用tuple()函数,可以直接将生成器对象转换成元组 print(tuple(a)) ----------------------------------------- <generator object <genexpr> at 0x0000015913C24190> (1, 2, 3, 4, 5, 6, 7, 8, 9)
标签:10,推导,list1,t1,公共,print,操作,列表,元组 From: https://www.cnblogs.com/LoLong/p/16746410.html