@myles
2019-01-18T03:30:19.000000Z
字数 1383
阅读 736
Python基础
学习文档:
https://www.cnblogs.com/yyds/p/6281453.html
“语法糖”,从字面上看应该是一种语法。“糖”,甜不甜,是的很甜,其实就可以理解语法中的“糖”,就是语法中给我们带来了“简单、简洁,易用”的甜头。
其实我们如果理解了语法糖,会发现没有这些被称为“语法糖”的语法,我们也能实现相应的功能,而“语法糖”仅仅是使我们可以更加简洁、快速的实现我们想实现的功能而已。
只是在Python中,解释器会把这些“特定格式的语法”翻译成原本那样复杂的代码逻辑而已,没有什么太高深的东西。
In [29]: x = 10
In [30]: print(x*x) if x==10 else print(x/2)
100
In [32]: [x*x for x in range(10)]
Out[32]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 只对 x>20 的元素进行后续 x*10 的操作
In [34]: L = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
In [35]: [x*10 for x in L if x> 20]
Out[35]: [250, 360, 490, 640, 810]
# 计算两个集合的全排列,并将结果作为保存至一个新的列表中
In [43]: L1
Out[43]: ['香蕉', '苹果', '橙子']
In [44]: L2
Out[44]: ['可乐', '牛奶']
In [45]: [(x,y) for x in L1 for y in L2]
Out[45]:
[('香蕉', '可乐'),
('香蕉', '牛奶'),
('苹果', '可乐'),
('苹果', '牛奶'),
('橙子', '可乐'),
('橙子', '牛奶')]
eg4: 基本实例之“字典转列表”(单个元素格式(key,value))
In [40]: D = {'Tom': 15, 'Jerry': 18, 'Peter': 13}
In [41]: [(k,v) for k,v in D.items()]
Out[41]: [('Tom', 15), ('Jerry', 18), ('Peter', 13)]
with open('d:/imgs/xxx.jpg','wb') as f:
f.write(re.content)
In [52]: L = ['TOM', 'Peter', 10, 'Jerry']
In [53]: [x.lower() if isinstance(x,str) else x for x in L]
Out[53]: ['tom', 'peter', 10, 'jerry']