list1 = [['a', (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
假设我需要将第一个 'a' 替换为(0,1)
,那么结果应该是:
[[(0,1), (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
我怎样才能做到这一点?
list1 = [['a', (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
假设我需要将第一个 'a' 替换为(0,1)
,那么结果应该是:
[[(0,1), (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
我怎样才能做到这一点?
只需解决内部列表:
list1[0][0] = (0, 1)
第一个索引操作[0]
检索外部列表中的第一个元素,然后您对其应用另一个索引操作以获取包含列表的第一个元素。
>>> list1 = [['a', (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
>>> list1[0][0] = (0, 1)
>>> list1
[[(0, 1), (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
>>> my_list = [['a', (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
>>> for sublist in my_list:
if sublist[0] == 'a':
sublist[0] = (0, 1)
break
>>> my_list
[[(0, 1), (1, 1)], ['a', (1, 2)], ['a', (1, 3)]]
编辑:为了回答这个问题(只有第一个'a'),并满足不满意的缩进客户 - 这是一些好的代码:
for inner_list in list1:
for idx, elem in enumerate(inner_list):
if elem=='a':
inner_list[idx] = (0,1)
break