2024-04-23 15:25:09 发布
网友
假设我有:
a = [ [1,2], [2,9], [3,7] ]
我编辑了每个列表的第二个值
seconds = [a[1] for num in a] i = 0 while i <= len(seconds): seconds[i] += 3
如何更新值以获得此值
a = [ [1,5], [2,12], [3,10] ]
不必先保存seconds然后修改,您可以一次完成这一切:
seconds
a = [ [1,2], [2,9], [3,7] ] for item in a: item[1] += 3
您可以使用带有^{}的list comprehension,以便只更新第二个元素:
list comprehension
l = [ [1,2], [2,9], [3,7] ] [[a, b + 3, *c] for a,b,*c in l] [[1, 5], [2, 12], [3, 10]]
它更新每个子列表的第二个元素,而不考虑其长度:
l = [ [1,2,5,10], [2,9,7,2], [3,7,1,5] ] [[a, b + 3, *c] for a,b,*c in l] [[1, 5, 5, 10], [2, 12, 7, 2], [3, 10, 1, 5]]
注意:假设每个子列表至少包含2个元素
简单的列表理解就足够了:
a_2= [[each[0],each[1]+3] for each in a]
打印\u 2将导致:
[[1, 5], [2, 12], [3, 10]]
不必先保存
seconds
然后修改,您可以一次完成这一切:您可以使用带有^{} 的
list comprehension
,以便只更新第二个元素:它更新每个子列表的第二个元素,而不考虑其长度:
注意:假设每个子列表至少包含2个元素
简单的列表理解就足够了:
打印\u 2将导致:
相关问题 更多 >
编程相关推荐