No Python, as tuplas são imutáveis ​​e, portanto, nenhuma alteração é necessária nelas depois de formadas. Esta restrição torna seu processamento mais difícil e, portanto, certas operações em tuplas são bastante úteis para se ter conhecimento. Este artigo trata da modificação do segundo elemento da tupla com a lista fornecida. Vamos discutir algumas maneiras pelas quais isso pode ser feito.

Método # 1: Usando zip() + compreensão de lista
Neste método, nós apenas pegamos o primeiro elemento de lista de tupla e o elemento no índice correspondente e os compactamos usando a função zip.

test_list1 = [('Geeks', 1), ('for', 2), ('Geeks', 3)] 
test_list2 = [4, 5, 6] 
print("The original list 1 : " + str(test_list1)) 
print("The original list 2 : " + str(test_list2)) 
res = [(i[0], j) for i, j in zip(test_list1, test_list2)] 
print("The modified resultant list of tuple : " + str(res)) 
Resultado :
A lista original 1: [('Geeks', 1), ('para', 2), ('Geeks', 3)]
A lista original 2: [4, 5, 6]
A lista resultante de tupla modificada: [('Geeks', 4), ('for', 5), ('Geeks', 6)]

 

Método # 2: Usarzip() + map() + operator.itemgetter()
a função itemgetter aqui realiza a tarefa de buscar a constante de dois elementos de tupla que é então mapeada com o índice correspondente usando a função map. A função zip é usada para estender essa lógica a toda a lista.



import operator 
test_list1 = [('Geeks', 1), ('for', 2), ('Geeks', 3)] 
test_list2 = [4, 5, 6] 
print("The original list 1 : " + str(test_list1)) 
print("The original list 2 : " + str(test_list2)) 
temp = map(operator.itemgetter(0), test_list1) 
res = list(zip(temp, test_list2)) 
print("The modified resultant list of tuple : " + str(res)) 
Resultado :
A lista original 1: [('Geeks', 1), ('para', 2), ('Geeks', 3)]
A lista original 2: [4, 5, 6]
A lista resultante de tupla modificada: [('Geeks', 4), ('for', 5), ('Geeks', 6)]