我本质上想在Python中执行索引匹配(想想Excel)类型公式,以将tuple_list1中的None替换为tuple_list1中的等效值。
我的代码:
tuple_list = [("pineapple", 5), ("cherry", 7), ("kumquat", None), ("plum", None)]
tuple_list1 = [("orange, 10"),("plum", 10),("kumquat", 23)]
for item in tuple_list:
if item[1] == None:
item[1] = tuple_list[tuple_list1.index(item[0])][1]
print tuple_list
我的错误:
ValueError: 'kumquat' is not in list
期望的输出:
[("pineapple", 5), ("cherry", 7), ("kumquat", 23), ("plum", 10)]
最佳答案
您可能应该使用字典来实现此目的,但如果您需要使用此数据格式,则需要过滤 tuple_list1
以获取所需的数据。
tuple_list = [("pineapple", 5), ("cherry", 7), ("kumquat", None), ("plum", None)]
tuple_list1 = [("orange", 10),("plum", 10),("kumquat", 23)]
for key, item in enumerate(tuple_list):
if item[1] == None:
tuple_list[key] = (item[0], [x for x in tuple_list1 if x[0] == item[0]][0][1])
print tuple_list
关于python - 在 Python 中用索引替换列表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27628131/