¿Cómo inicializo un diccionario de listas vacías en Python?

Martin Burch:

Mi intento de crear un diccionario de listas mediante programación no me permite abordar las claves del diccionario individualmente. Siempre que creo el diccionario de listas e intento agregar una clave, todas se actualizan. Aquí hay un caso de prueba muy simple:

data = {}
data = data.fromkeys(range(2),[])
data[1].append('hello')
print data

Resultado actual: {0: ['hello'], 1: ['hello']}

Resultado Esperado: {0: [], 1: ['hello']}

Esto es lo que funciona

data = {0:[],1:[]}
data[1].append('hello')
print data

Resultado real y esperado: {0: [], 1: ['hello']}

¿Por qué el fromkeysmétodo no funciona como se esperaba?

Sven Marnach:

Pasar []como segundo argumento a dict.fromkeys()da un resultado bastante inútil: todos los valores en el diccionario serán el mismo objeto de lista.

En Python 2.7 o superior, puede usar una comprensión dicitonaria en su lugar:

data = {k: [] for k in range(2)}

En versiones anteriores de Python, puede usar

data = dict((k, []) for k in range(2))

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

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

¿Cómo inicializo un diccionario de listas vacías en Python?

¿Cómo simplificar un diccionario de listas anidadas en Python?

¿Cómo declarar un diccionario vacío de diccionarios vacíos en Python 2.7?

¿Cómo inicializo un marco de datos vacío * con una columna de fecha * en R?

¿Cómo combino dos listas en un diccionario en Python?

Cómo agregar listas en un diccionario anidado en Python

Cómo fusionar 3 listas en un diccionario en Python

¿Cómo eliminar una clave de cadena vacía de un diccionario en Python?

Cómo permitir valores duplicados de dos listas diferentes en un diccionario en Python

¿Cómo poner una lista de listas en un diccionario en Python?

Python 2.7.12: Cómo combinar dos listas en un diccionario

¿Cómo agrupar listas anidadas (Python) en un diccionario?

¿Cómo agrego varias listas a una clave en un diccionario de Python?

¿Cómo comparar listas no idénticas y derivar valores de un diccionario en Python?

Python cómo usar defaultdict fromkeys para generar un diccionario con claves predefinidas y listas vacías

Python: cómo exportar un diccionario de listas anidadas a Excel

Cómo convertir listas en un diccionario a diccionarios en listas (Python)

Probabilidades en un diccionario de listas en Python

Python - cómo crear un diccionario de diccionario en bucle

¿Cómo aplanar solo el segundo nivel de una lista de listas (para luego convertirlo en un diccionario) en Python?

En Python, dado un diccionario con listas en los valores, ¿cómo clasifico el diccionario en función de la cantidad de elementos en esa lista?

Manipular un diccionario / árbol de listas anidado en Python 3

Python: ordenar valores en un diccionario de listas

Convertir 2 listas en un diccionario de Python

¿Cómo selecciono de un diccionario cuyos valores son una lista de listas en python2.7?

Eliminar claves de un diccionario cuyos valores son listas vacías

¿Cómo escribir un diccionario de listas en una cadena en lugar de un archivo CSV?

Python: cómo combinar dos listas en un diccionario en un orden aleatorio total

¿Cómo inicializo correctamente un conjunto en Python?

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Pandas의 CSV 파일을 Pandas 데이터 프레임으로 가져 오기

  3. 3

    uitableview delete button image in iOS

  4. 4

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  5. 5

    Swift / Firebase : Facebook 사용자가 계정을 만들 때 Firebase 데이터베이스에 제대로 저장하려면 어떻게해야합니까?

  6. 6

    caída condicional de filas desde un marco de datos de pandas

  7. 7

    Link library in Visual Studio, why two different ways?

  8. 8

    Pagination class not getting applied in html

  9. 9

    Que signifie Decimal (-1)?

  10. 10

    UIButton textLabel with different fonts

  11. 11

    WPF pleine largeur DataGridColumn sur la largeur de DataGrid

  12. 12

    Opción de máquina virtual no reconocida 'MaxPermSize = 512m' cuando se ejecuta Zeppelin

  13. 13

    matplotlib로 그래프를 그리는 동안 커서 위치에서 날짜 / 시간을 볼 수 없습니다. "DateFormatter에서 x = 0 값을 찾았습니다"라는 오류가 발생합니다.

  14. 14

    ¿Es posible en Windows evitar que otras aplicaciones se enganchen en las DLL del sistema?

  15. 15

    Error de la base de datos de Android Firebase: Permiso denegado al depurar en un teléfono

  16. 16

    Pandas: suma filas de DataFrame para columnas dadas

  17. 17

    ggplot2: gráfico con líneas y puntos para problemas de leyenda de dos conjuntos de datos

  18. 18

    ¿Cómo especificar el puerto en el que se aloja una aplicación ASP.NET Core?

  19. 19

    Recherche de la position d'index d'une valeur dans r dataframe

  20. 20

    GPU를 사용하여 ffmpeg 필터의 처리 속도를 가속화하는 방법은 무엇입니까?

  21. 21

    nested observables executed one after the other after termination

CalienteEtiquetas

Archivo