我基本上想在Python中使用一个索引匹配(比如Excel)类型的公式,用tuple\u list中的等价值替换tuple\u list中的None。你知道吗
我的代码:
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)]
你的元组列表和元组列表1颠倒了。断裂线应为:
也不应该在项上使用[0],您不是在查找元组的组件,而是在查找整个元组的索引
另一个问题是不能修改元组的元素。它们是不变的。您必须创建一个新元组并替换旧元组
下面是一些代码,它们将执行您希望它执行的操作:
您可能应该为此使用字典,但如果需要使用此数据格式,则需要过滤
tuple_list1
以获取所需的数据。你知道吗你可以遍历
tuple_list
和tuple_list1
并过滤出一个新的列表,所有元组的索引值都是0,此时此地。然后将其替换到新列表中,该列表仍在迭代,直到完成为止。你知道吗这是我的解决方案。这将创建一个新列表。你知道吗
相关问题 更多 >
编程相关推荐