gpt4 book ai didi

python - 我如何在 python 中拆分列表

转载 作者:行者123 更新时间:2023-11-28 20:43:31 24 4
gpt4 key购买 nike

假设我有一个列表['x1_0','x2_1','x3_0'] 如何将上面的列表分成两个列表,使第一个列表包含['x1','x2','x3'] 和第二个列表 [0,1,0]?即

         ('x1_0')
/ \
/ \
/ \
1st list 2nd list
'x1' 0

随意使用尽可能多的工具。这显然可以在单个 for 循环中完成,我知道这一点。有一个更好的方法吗 ?。使用列表理解的东西?阿尔斯

最佳答案

您可以使用 zip和列表理解:

>>> zip(*[i.split('_') for i in l])
[('x1', 'x2', 'x3'), ('0', '1', '0')]

如果您想将第二个元组的元素转换为 int,您可以使用以下嵌套列表理解:

>>> [[int(i) if i.isdigit() else i for i in tup] for tup in zip(*[i.split('_') for i in l])]
[['x1', 'x2', 'x3'], [0, 1, 0]]

前面的方法是完成此任务的正确方法,但正如您在评论中所说的较小的解决方案,您可以使用 map :

>>> l=[l[0],map(int,l[1])]
>>> l
[('x1', 'x2', 'x3'), [0, 1, 0]]

关于python - 我如何在 python 中拆分列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28762723/

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