马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 liuzhengyuan 于 2020-5-1 22:24 编辑
python 把代码写成一行的方法 | python 小知识
0,分号……
分号在手,一行我有 
1,exec()
这样也可以浓缩成一行呀(注意加 \n 哦~)
如:>>> exec('n = 0\nprint(n)')
0
2,lambda() & map()
这个小甲鱼应该讲过
比如(这个程序的意思就是把列表中的所有元素转换为字符串):>>> list1 = ['3', '4', '5']
>>> list2 = []
>>> for i in list1:
list2.append(int(i))
>>> list2
[3, 4, 5]
就可以改成:注意:map 返回的是一个迭代对象,不是列表>>> list1 = ['3', '4', '5']
>>> list2 = list(map(lambda x : int(x), list1))
>>> list2
[3, 4, 5]
3,把 for 写成一行
这真的好难理解呀 >>> ll = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> print(list(j for i in ll for j in i))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
4,三元运算符>>> var = 'wawawa' if 2 < 3 else 'yayaya'
>>> var
'wawawa'
5,用 input() 代替要输入的变量位置>>> i = input().split(',')
3,4,5
>>> i
['3', '4', '5']
还有什么呢? |