我有一个包含元组的列表:
l = [('a','b'),('c','d'),('e','f')]
需要传入两个参数:一个键值和一个新值用于修改。例如:
key = 'a'
new_value= 'B' # it means, modify with 'B' the value in tuples where there's an 'a'
我有两个选项(都可以使用):
f = lambda t,k,v: t[0] == k and (k,v) or t
new_list = [f(t,key,new_value) for t in l]
print new_list
并且
new_list = []
for i in range(len(l)):
elem = l.pop()
if elem[0] == key:
new_list.append((key,new_value))
else:
new_list.append(elem)
print new_list
但是,我在Python方面还很新,并不确定是否正确。
你能帮助我吗?谢谢!