Tengo la siguiente lista:
initial_list = [['B', 'D', 'A', 'C', 'E']]
En cada elemento de la lista aplico una función y pongo los resultados en un diccionario:
for state in initial_list:
next_dict[state] = move([state], alphabet)
Esto da el siguiente resultado:
next_dict = {'D': ['E'], 'B': ['D'], 'A': ['C'], 'C': ['C'], 'E': ['D']}
Lo que me gustaría hacer es separar las claves de initial_list en función de sus valores en el diccionario next_dict, básicamente agrupar los elementos de la primera lista en elementos con el mismo valor en el next_dict:
new_list = [['A', 'C'], ['B', 'E'], ['D']]
'A' y 'C' permanecerán en el mismo grupo porque tienen el mismo valor 'C', 'B' y 'D' también compartirán el mismo grupo porque su valor es 'D' y luego 'D' será en su propio grupo.
¿Cómo puedo lograr este resultado?
Prueba esto:
next_next_dict = {}
for key in next_dict:
if next_dict[key][0] in next_next_dict:
next_next_dict[next_dict[key][0]] += key
else:
next_next_dict[next_dict[key][0]] = [key]
new_list = next_next_dict.values()
O esto:
new_list = []
for value in next_dict.values():
new_value = [key for key in next_dict.keys() if next_dict[key] == value]
if new_value not in new_list:
new_list.append(new_value)
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