Skip to main content
 首页 » 编程设计

Python修改并将值附加到二维列表

2025年05月04日16pengyingh

我有一个二维列表,其中内部维度总是有 3 个值(前 2 个值是字符串,最后一个是整数),外部维度只包含这些值,如下所示:

my_list=[["a","b",10],["c","d",12],["e","f",64]]

我有一个函数试图将一个新的 3 值列表附加到 my_list。如果该列表的第一个和第二个值与当前在 my_list 中的列表的第一个和第二个值匹配,我想将它们的最后一个(整数)值加在一起。

例如,尝试将 ["a","b",3] 添加到 my_list 只会像这样更改 my_list:

my_list=[["a","b",13],["c","d",12],["e","f",64]]

但是,如果尝试将 ["b","a",3] 添加到 my_list 中,则只会像这样更改 my_list:

my_list=[["a","b",10],["c","d",12],["e","f",64], ["b", "a",3]]

这是我的代码:

my_list=[["a","b",10],["c","d",12],["e","f",64]] 
 
a=["a","b",3] 
 
for x in my_list: 
   if x[:2]==a[:2]: 
      x[3]=x[3]+a[3] 

我收到以下错误:

Traceback (most recent call last): 
  File "./test", line 9, in <module> 
    x[3]=x[3]+a[3] 
 
IndexError: list index out of range 

请您参考如下方法:

Python 中的列表索引从零开始,因此您的三元素列表由0、1 和2,而不是代码预期的 1、2 和 3。此外,以 ("a","b") 作为键的字典可能是更好的数据结构。