为了账号安全,请及时绑定邮箱和手机立即绑定

将更改限制为仅 1 个列表

将更改限制为仅 1 个列表

RISEBY 2021-08-05 16:27:51
我有嵌套列表(即。[[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。


查看完整回答
反对 回复 2021-08-05
?
慕慕森

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']]


查看完整回答
反对 回复 2021-08-05
  • 2 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信