Tengo una lista de tuplas.
[('first_title', 'first_content','notes'),('second_title','second_content','Lists'), ('third_title', 'third_content','Books'), ('fourth_title', 'fourth_content','Chores')
y quiero obtener cada tupla en el código y colocarlas en una lista donde esa lista tiene solo las tuplas que tienen el mismo segundo valor (comenzando en 0) pero sin codificar cuál es el segundo valor o la longitud de la lista. el resultado se vería como ...
notes = [('first_title, 'first_content, 'notes')]
Lists = [('second_title, 'second_content, 'Lists')]
Books = [('third_title, 'third_content, 'Books')]
Chores = [('fourth_title, 'fourth_content, 'Chores')]
así que realmente no puedo hacer ...
if x[2] == 'Lists'
porque está codificado.
Si hubiera otra tupla que tuviera el segundo elemento (comenzando en 0) igual a, 'Books'
entonces estaría en la Books
lista, por ejemplo.
Desea crear un diccionario de listas donde el tercer valor de cada tupla se usa como clave.
Puede utilizar a defaultdict
para crear una nueva lista automáticamente cuando se inserta una clave por primera vez:
from collections import defaultdict
result = defaultdict(list)
for item in list_of_tuples:
key = item[2]
result[key].append(item)
Ahora se puede utilizar result['notes']
, result['Lists']
etc.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras