列表推导式
#将0-9 加入到一个列表中 结构为{0,1,2,3,4,5,6,7,8,9}
#普通方法
list1 = []
#while循环实现
i = 0
while i <10:
print(i)
#将0-9 依次加入到列表中
list1.append(i)
i += 1
print("========================")
print(list1)
print("========================")
#for循环实现
list2= []
for i in range(10):
print(i)
list2.append(i)
print(list2)
print("======================")
#列表推导式
list3 = [i for i in range(10)]
print(list3)
多个for循环实现推导式
#需求:[(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]
list1 = []
for i in range(1,3):
for j in range(3):
print(i,j)
#将数据加入到列表中
list1.append((i, j))
print(list1)
print("=============================================")
list2 = [(i,j) for i in range(1,3) for j in range(3)]
print(list2)
print("=============================================")
字典推导式
#要求健是1-5 值是他的平方{1:1,2:4,3:9,4:16}
#普通
#for循环
dict1 = {}
for i in range(1,5):
print(i,i ** 2)
dict1[i] = i ** 2
print(dict1)
print("===========================")
#字典推导式
dict2 = {i: i **2 for i in range(1,5)}
print(dict2)
print("========================")
unm ={}
i=1
while i <5:
print(i,i ** 2)
unm[i] = i ** 2
i +=1
print(unm)
dict4 = {i: i ** 2 for i in range(1,5)}
print(dict4)
print("==============================")
#将两个列表合并为一个字典
name_list = ["Tom","Jerry","Host"]
age_list = [18,3,28]
#把上面的列表生成一个字典{"Tom":18,"jerry":3,"Host":28}
#普通方法
dict3 = {}
for i in range(len(name_list)):
print(name_list[i],age_list[i])
#加入到dict3中
dict3[name_list[i]] =age_list[i]
print(dict3)
print("====================================")
dict5 = {name_list[i]: age_list[i] for i in range(len(name_list)) for i in range(len(age_list))}
print(dict5)
带if的列表推导式
#0-10的偶数序列{0,2,4,6,8}
#第三个参数是步长
list1 = [i for i in range(0,10,2)]
print(list1)
#if实现
list2 = [i for i in range(10) if i % 2 ==0]
print(list2)
#奇数加入到列表
list3 = [i for i in range(10) if i % 2 ==1]
print(list3)
带if的字典推导式
dict1 = {"刘备":195,"关羽":186,"张飞":198}
#使用字典推导式 打印出 身高在190以上的姓名
#普通方法
for i, j in dict1.items():
if j >190:
print(i,j)
print("==========================")
#字典推导式实现
dict2 = {i: j for i, j in dict1.items() if j >190}
print(dict2)
集合推导式
#生成一个集合{2,5,9}
#普通方法
list1 = [2,5,9]
set1 = set()
for i in list1:
print(i ** 2)
set1.add(i ** 2)
print(set1)
#集合推导式实现
set2 = {i ** 2 for i in list1}
print(set2)