改变列表中的元组 - 这是最好的方法吗?

Ben*_* S. 1 python tuples

我有一个这种形式的元组列表:

my_list = [(a,b),(c,d),(e,f)]
Run Code Online (Sandbox Code Playgroud)

我想对每个元组的第二个成员做一些事情.如果我需要制作一个新列表,这很好,但我不需要旧的列表.

这就是我现在正在做的事情:

new_list = []
for x,y in my_list:
    new.list.append((x,my_function(y)))
Run Code Online (Sandbox Code Playgroud)

这有效,但感觉笨重,是最好/最pythonic /最快的方式?

Mar*_*ers 5

使用列表推导来生成新元组:

new_list = [(x, my_function(y)) for x, y in my_list]
Run Code Online (Sandbox Code Playgroud)

这与您的版本相同,但避免重复.append()调用并一次性构建列表.