gpt4 book ai didi

python - 将元组的嵌套列表转换为元组中第一个元素的嵌套列表

转载 作者:行者123 更新时间:2023-11-30 22:10:35 24 4
gpt4 key购买 nike

我有一个像这样的嵌套列表:

a = [([('m', 2), ([('o', 1), ([('k', 1), ('h', 1)], 2)], 3)], 5),
([('e', 3), ([([('t', 1), ('a', 1)], 2), (' ', 2)], 4)], 7)]

我想删除每个元组中的第二个元素,因此列表仅变成字符列表。像这样:

[['m', ['o', ['k', 'h']]], ['e', [['t', 'a'], ' ']]]

我尝试过以下方法:

def transform(array):
for x in array:
if type(x[0]) is list:
transform(x[0])
else:
x = x[0]

它将元组转换为字符,但不影响给定的数组

最佳答案

使用递归列表理解:

def recursive_strip(my_list):
"""Recursively remove the second element from nested lists of tuples."""
return [
recursive_strip(one) if isinstance(one, list) else one
for one, two in my_list
]

在示例中运行此代码我们得到:

a = [([('m', 2), ([('o', 1), ([('k', 1), ('h', 1)], 2)], 3)], 5),
([('e', 3), ([([('t', 1), ('a', 1)], 2), (' ', 2)], 4)], 7)]

result = recursive_strip(a)

结果为:

[['m', ['o', ['k', 'h']]], ['e', [['t', 'a'], ' ']]]

关于python - 将元组的嵌套列表转换为元组中第一个元素的嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51667371/

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