我有嵌套列表(即[[list1],[list2]]
,我只想更改第一个列表。
我的功能如下:
function_name(data, list_number, change)
应该只返回数据中提供的list_number的更改
所以我的总体问题是,如何将这一更改限制为仅给定的list_number?如果不清楚,请随时提出和澄清。
例如:
已经知道“更改”将替换哪个索引,在这种情况下,它将替换第一个列表的第二个索引(即2)
data = [[1,2,3],[4,5,6]]
function_name(data, 1, 6)
data = [[1,6,3],[4,5,6]]
我什至不知道从哪里开始,因为索引是“未知的”(即,在调用函数时由用户给出)
答案 0 :(得分:0)
列表项通过它们的索引进行引用,嵌套列表可以以相同的方式工作。
如果您的列表是:
list = [['nest1_1', 'nest1_2']['nest2_1', 'nest2_2']]
您可以通过以下方式对其进行更改:
list[0] = ['nesta_1', 'nesta_2']
list[1][0] = 'second_1'
这将使您的列表现在为:
[['nesta_1', 'nesta_2']['second_1', 'nest2_2']]
答案 1 :(得分:0)
尝试以下代码:
data = [[1,2,3],[4,5,6]]
def element_change(data, index_list, element_to_change, change):
a =''.join([ str(i) for i in data[index_list]])
data[index_list][a.find(str(element_to_change))] = change
return data
print(element_change(data, 0, 2, 6))
输入:
[[1, 2, 3], [4, 5, 6]]
输出:
[[1, 6, 3], [4, 5, 6]]
它的作用仅仅是将列表广播到字符串并合并,以便能够使用find()
方法来找到索引< / strong>。