python - 在 Python 中用索引替换列表中的值

标签 python python-2.7

我本质上想在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/

相关文章:

Python while循环没有中断

python - Django - 缺少 ModelChoiceField 空选择

python - dbus-python 如何返回字典数组

python-2.7 - 如何识别从今天(包括今天)到过去和 future (不包括周末)的三个工作日并将它们放入 Pandas 数据框中?

python - Matplotlib 和 Seaborn : Legend too long for line style

python - 如何将具有非 ASCII 字节的字节数组转换为 python 中的字符串?

python - 如何更新 Tkinter 标签小部件的图像?

python - Visual Studio Code 的调试器和 pipenv

python - 如何更改使用 host_subplot 创建的轴的标签(来自 AxesGrid 工具包)

python - 访问文字上的属性适用于所有类型,但不适用于 `int` ;为什么?