Python 3.x 将列表元素转换为其他列表的列表值
我试图将给定列表的列表元素转换为另一个列表的列表值。以下是一个例子:Python 3.x 将列表元素转换为其他列表的列表值,python-3.x,list,set,Python 3.x,List,Set,我试图将给定列表的列表元素转换为另一个列表的列表值。以下是一个例子: list1 = ['apple', 'tomato', 'milk', 'beans', 'mango'] list2 = [{0,4}, {1,3}, 2] result = [] 预期产出: [{'apple', 'banana'}, {'tomato', 'beans'}, 'milk'] 我正在尝试使用以下代码,但它不起作用: for i in list2: result.append(list1[i])
list1 = ['apple', 'tomato', 'milk', 'beans', 'mango']
list2 = [{0,4}, {1,3}, 2]
result = []
预期产出:
[{'apple', 'banana'}, {'tomato', 'beans'}, 'milk']
我正在尝试使用以下代码,但它不起作用:
for i in list2:
result.append(list1[i])
假设
list2
只包含set
、list
或int
。这就是我的方法
list1 = ['apple', 'tomato', 'milk', 'beans', 'mango']
list2 = [{0,4}, {1,3}, 2]
result = []
# [{'apple', 'banana'}, {'tomato', 'beans'}, 'milk']
for x in list2:
temp_lst = []
if type(x) in [set, list]:
new_set = set()
for y in x:
new_set.add(list1[y])
temp_lst.append(new_set)
else:
temp_lst.append(list1[x])
result.extend(temp_lst)
print(result)
您尝试过如何处理集合元素,以及在实现过程中遇到了哪些问题?