Python列表推导式
1.原始方法
1 list1 = []
2 for i in range(1, 21):
3 list1.append(i)
4 print(list1) # >>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
2.格式1:[i for i in 可迭代的]
1 list0 = [i for i in range(1, 21)]
2 print(list0) # >>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
3
4 list0 = [i + 2 for i in range(1, 21)]
5 print(list0) # >>[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
6
7 list2 = [i for i in range(0, 20, 2)]
8 print(list2) # >> [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
3.格式2:[i for i in 可迭代的 if 条件]
1 list3 = [i for i in range(0, 20) if i % 2 == 0]
2 print(list3) # >> [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
3 print(type(list3[1])) # >> <class 'int'>
4
5 list4 = ['89', 'hello', '2838', 'world', 'luck', '25']
6 list5 = [i for i in list4 if i.isalpha() == True]
7 print(list5) # >> ['hello', 'world', 'luck']
4.格式3:[结果i if 条件 else 结果2 for 变量 in 可迭代对象]
1 list4 = ['89', 'hello', '2838', 'world', 'luck', 'high', '25']
2 list6 = [i.title() if i.startswith('h') else i.upper() for i in list4]
3 print(list6) # >> ['89', 'Hello', '2838', 'WORLD', 'LUCK', 'High', '25']
集合推导式与列表推导式相似,只是如果有相同元素则会去重
1 字典推导式:
2
3 dict1 = {'a': 'A', 'b': 'B', 'c': 'C', 'd': 'C'}
4
5 newdict = {value: key for key, value in dict1.items()}
6 print(newdict)
{'A': 'a', 'B': 'b', 'C': 'd'}
作者:Ambitious
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!