gpt4 book ai didi

python - 如何在单个操作中展平具有已知分隔符的列表列表

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:37 24 4
gpt4 key购买 nike

假设我有一个包含已知分隔符 ; 的列表。如果该列表包含由该分隔符分隔的字符串,我将如何展平该列表?例如:

>>> [item for item in [1,2,'2;3']]
[1, 2, '2;3']

我可以用第二个 for 循环详细地完成这个:

vals = []
separator = ';'
for _val in [1,2,'2;3']:
_val = str(_val)
if separator not in _val:
vals.append(_val)
else:
vals.extend(_val.split(separator))

有没有办法在单个操作中完成此操作,例如使用列表理解或 chain

最佳答案

由于您希望最终值都是字符串,因此可以在转换为字符串后对所有字符串调用 split 并使用itertools.chain.from_iterable:

import itertools
c = itertools.chain.from_iterable(str(item).split(";") for item in [1,2,'2;3'])
print(list(c))

结果:

['1', '2', '2', '3']

关于python - 如何在单个操作中展平具有已知分隔符的列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53918063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com