python使用元组替换列表值

tdc*_*tdc 3 python list

如果我有一个清单:

my_list = [3,2,2,3,4,1,3,4]
Run Code Online (Sandbox Code Playgroud)

和一个元组

my_tuple = (3,5)
Run Code Online (Sandbox Code Playgroud)

my_list使用元组替换元素的最佳方法是什么:

result = [5,2,2,5,4,1,5,4]
Run Code Online (Sandbox Code Playgroud)

例如

for item in my_list:
    if(item == my_tuple[0]):
        item = my_tuple[1]
Run Code Online (Sandbox Code Playgroud)

更一般地说,我会有一个列表列表和一个元组列表,我想将每个元组应用于列表列表中的每个列表.

DSM*_*DSM 11

更自然的数据结构my_tuple是字典.考虑这样的事情并使用.get()方法:

>>> my_lists = [[3,2,2,3,4,1,3,4], [1,2,3,4,5,6]]
>>> my_tuple_list = [(3,5), (6, 7)]
>>> my_dict = dict(my_tuple_list)
>>> my_dict
{3: 5, 6: 7}
>>> my_lists = [[my_dict.get(x,x) for x in somelist] for somelist in my_lists]
>>> my_lists
[[5, 2, 2, 5, 4, 1, 5, 4], [1, 2, 5, 4, 5, 7]]
Run Code Online (Sandbox Code Playgroud)