my_list = [[1,2], [1,3], [1,4], [3,2]]
a = 1
b = 2
my_list = [[a if i==b else b if i==a else i for i in j] for j in my_list]
print(my_list) # [[2, 1], [2, 3], [2, 4], [3, 1]]
如果要添加更多要替换的元素,可以使用字典:
swap = {
1: 2,
2: 1
}
my_list = [[swap.get(i, i) for i in j] for j in my_list]
>>> my_list = [[1,2], [1,3], [1,4], [3,2]]
>>> print([[(lambda k: (1 if val == 2 else 2) if val in [1, 2] else val)(val) for val in sub_list] for sub_list in my_list])
[[2, 1], [2, 3], [2, 4], [3, 1]]
read the second line from right to left... in chunks!
其他人可能会用更好的回答,但这会奏效
下面是一个使用列表理解的简单解决方案:
如果要添加更多要替换的元素,可以使用字典:
如果需要将
1
与2
进行交换,则此一行程序将起作用:相关问题 更多 >
编程相关推荐