【发布时间】:2014-05-17 00:59:07
【问题描述】:
我有一个列表,其中每个元素可以是一个数字或两个不同字符串之一(我们称之为“a”和“b”)。我想将列表分成三个列表:数字列表、“a”列表和“b”列表。
我可以使用条件列表理解来做到这一点:
mixlist=[1,2,'a',3,'b','a']
numlist=[el for el in mixlist if type(el)==int]
alist=[el for el in mixlist if el=='a']
blist=[el for el in mixlist if el=='b']
但它会导致在 mixlist 上运行多次。可能我可以做得更好,但我不知道只有一次在 mixlist 上运行的捷径......
【问题讨论】:
标签: python list-comprehension conditional-statements