|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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']
复制代码
还有什么呢? |
评分
-
查看全部评分
|