我有嵌套列表(即。[[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]] 我什至不知道从哪里开始,因为索引是“未知”(即,在调用函数时由用户给出)
2 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
试试这个代码:
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]]
它所做的只是将 list 转换为 string并合并它们,以便能够使用find()method 来查找index。
慕慕森
TA贡献1856条经验 获得超17个赞
列表项通过它们的索引进行引用,嵌套列表可以以相同的方式工作。
如果您的清单是:
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']]
添加回答
举报
0/150
提交
取消