2015-04-08 2 views
0

Попытка преобразовать список в словарь, но может не получить ожидаемый результатПреобразование массива в хэш в Python

p = {} 
a = ["s","l","y"] 
for s in a: 
    p["size"] = s 

print(p) 

выход:

{'size': 'y'} 

, но я ожидал выход как этот

{'size': 's','size': 'l','size': 'y'} 

Как я могу это получить в python

+1

Нет, не могу, 'dict' ключ должен быть уникальным – itzMEonTV

+0

Да, это просто не будет работать, как itzmeontv сказал. Что вы пытаетесь сделать с данными? – MikkoP

+0

Предположим, что у вас есть dict 'p', который вы пытаетесь создать, и вы выполняете' p ['size'] '. Что вы хотите? – user2357112

ответ

1

Вы не можете достичь своей цели, так как вы используете словарь, и каждый ключ в словаре уникален. Возможно, вы хотите использовать список вместо:

p = [] 
a = ['s', 'l', 'y'] 
for s in a: 
    p.append(('size', s)) 

print(p) 

Выход:

[('size', 's'), ('size', 'l'), ('size', 'y')] 
0

Вы не можете иметь несколько одинаковых ключей в словаре, так что вы можете использовать список словарей. Простое понимание списка должно сделать трюк.

p = [{'size': a_size} for a_size in a] 

Результат:

[{'size': 's'}, {'size': 'l'}, {'size': 'y'}] 
+1

Вы должны дождаться секунды, прежде чем ничего не голосовали. Пусть, парень отредактирует кое-что. – pnv

Смежные вопросы