Python列表及其拆分

2024-03-28 18:01:56 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,我有这样的代码

a = ["a;b", "c;d",...,"y;z"]

我想将每个列表元素拆分为同一个列表的项。所以我想要这样的东西:

^{pr2}$

我怎么能做这种事?谢谢你的回答。在


Tags: 代码元素列表pr2
3条回答

仅使用字符串操作似乎是最简单的(当然,这是主观的)和最快的(与到目前为止发布的其他解决方案相比有很大的差距)。在

>>> a = ["a;b", "c;d", "y;z"]
>>> ";".join(a).split(";")
['a', 'b', 'c', 'd', 'y', 'z']

证明/基准

按所用时间的升序排序:

^{pr2}$

您可以使用^{}

>>> a = ["a;b", "c;d","y;z"]
>>> list(itertools.chain(*(s.split(';') for s in a)))
['a', 'b', 'c', 'd', 'y', 'z']

功能性更强的方法:

>>> l = ["a;b", "c;d", "e;f", "y;z"]
>>> sum(map(lambda x: x.split(';'), l), [])
['a', 'b', 'c', 'd', 'e', 'f', 'y', 'z']

相关问题 更多 >