如何解决Python替换元素=二维数组中的键
假设存在具有值的二维列表
[[0,0],[1,0]]
有没有办法循环遍历它,例如将每个 0 替换为 2(例如)?
我的第一种方法如下,但尽管 l 的值已更新,但列表中的条目并未更新。有什么想法吗?
for k in g:
for l in k:
if not l == 1:
l = 2
解决方法
您可以使用列表理解:
lst = [[0,0],[1,0]]
lst = [[2 if val == 0 else val for val in subl] for subl in lst]
print(lst)
打印:
[[2,2],2]]
,
为循环变量赋值会更新它们的值,但不会修改原始列表。要修改列表,您需要直接引用其元素。下面的代码执行此操作并将列表中的所有 0 替换为 2。
l = [[0,0]]
for i in range(len(l)):
for j in range(len(l[i])):
if l[i][j] == 0:
l[i][j] = 2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。