三大推导式
-
列表推导式
-
字典推导式
-
集合推导式
-
元组推导式
-
基本用法
-
[表达式 for 变量 in 列表 if 条件]
{健:值 for 变量 in 字典.items() if 条件}
{表达式 for 变量 in 集合 if 条件}
(表达式 for 变量 in 元组 if 条件)
# ------------------------------------------------------
# 推导式都是对可变数据类型来使用的
# ------------------------------------------------------
# 列表推导式
new_li = [i for i in range(1,11) if i % 2 == 0] # [返回的值 循环表达式 条件判断]
print(new_li) # [2, 4, 6, 8, 10]
# ------------------------------------------------------
# 字典推导式
dic = {i: i ** 2 for i in range(1,6)} # {键: 返回的值 循环表达式 条件判断}
print(dic) # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
# ------------------------------------------------------
# 集合推导式
a = {x for x in 'abracadabra' if x not in 'abc'} # {返回的值 循环表达式 条件判断}
print(a) # {'d', 'r'}
# ------------------------------------------------------
# 元组推导式(无意义)
# 返回的是一个生成器对象(generator),需要用tuple()转成元组
tup = tuple(x for x in range(1,10))
print(tup) # (1, 2, 3, 4, 5, 6, 7, 8, 9)
公共操作
# 1. 字符串 str1 = 'aa' str2 = 'bb' str3 = str1 + str2 print(str3) # aabb
# 2. 列表 list1 = [1, 2] list2 = [10, 20] list3 = list1 + list2 print(list3) # [1, 2, 10, 20]
# 3. 元组 t1 = (1, 2) t2 = (10, 20) t3 = t1 + t2 print(t3) # (10, 20, 100, 200)
字符串 print('-' * 10) # ----------
# 2. 列表 list1 = ['hello'] print(list1 * 4) # ['hello', 'hello', 'hello', 'hello']
公共方法
add方法 只能增加不可变数据类型 不能增加可变数据类型
s1 = set('123456') # 可变的数据类型 s1.add(6) print(s1)
s1 = {10, 20} # s1.update(100) # 报错 s1.update([100, 200]) s1.update('abc') print(s1) s1 = {10, 20} s1.discard(10) print(s1)
s1 = set('1234567789') print(s1) del_num = s1.pop() # 随机删除 print(del_num) print(s1)
# 1. 字符串 print('a' in 'abcd') # True print('a' not in 'abcd') # False