use*_*403 5 python list-comprehension
通常我会使用理解来将列表列表更改为列表.但是,我不想丢失空列表,因为我将最终列表压缩到另一个列表,我需要维护这些位置.
我有类似的东西
list_of_lists = [['a'],['b'],[],['c'],[],[],['d']] 我用这个
[x for sublist in list_of_lists for x in sublist]
这给了我
['a','b','c','d']
但我想要的是
['a','b','','c','','','d']
对不起,如果这是一个愚蠢的问题,我是python的新手.
谢谢你的帮助!
你开始用字符串'a','b'等等?如果是这样,那么你可以使用''.join转换['a']成'a'和[]成''.
[''.join(l) for l in list_of_lists]
Run Code Online (Sandbox Code Playgroud)
['']当显示空子列表时,只需选择而不是空列表:
list_of_lists = [['a'],['b'], [], ['c'], [], [], ['d']]
[x for sublist in list_of_lists for x in sublist or ['']]
Run Code Online (Sandbox Code Playgroud)
如果您有一些更复杂的标准来专门处理某些子列表,您可以使用... if ... else ...:
[x for sublist in list_of_lists for x in (sublist if len(sublist)%2==1 else [42])]
Run Code Online (Sandbox Code Playgroud)
Ps我觉得原版中缺少引号是一种疏忽.
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |