2016-12-20 23 views
5

Bir sözlükte dönüştürmek istediğim aşağıdaki listeye sahibim.Listeden verilerle yeni ANAHTAR ile nasıl bir sözlük oluşturulur?

newDict = [{'name': 'John', 'Height': 4.52}, 
      {'name': 'Jane', 'Height': 5.19}, 
      {'name': 'Ram', 'Height': 4.09}, 
      {'name': 'Hari', 'Height': 2.97}, 
      {'name': 'Sita', 'Height': 3.58}, 
      {'name': 'Gita', 'Height': 4.1}] 

Ne Bunu yapmanın en kolay yöntem olacaktır:

newData = ['John', 4.52, 'Jane', 5.19, 'Ram', 4.09, 'Hari', 2.97, 'Sita', 3.58, 'Gita', 4.1] 

Böyle bir sözlük oluşturmak istiyorsunuz?

newDict = [{ 'name': newData[x], 'Height': newData[x + 1] } for x in range(0, len(newData), 2) ] 

hile range ile adım parametresini kullanmaktır, size her eleman verir:

cevap

6

Enjoy:

newData = ['John', 4.52, 'Jane', 5.19, 'Ram', 4.09, 'Hari', 2.97, 'Sita', 3.58, 'Gita', 4.1] 

newDict = [ 
    {"name": name, "height": height} 
    for name, height in zip(newData[::2], newData[1::2]) 
] 

print(newDict) 
5

İşte yapabileceğiniz hızlı bir listesi açılımıdır.

2
newDict = [] 
for i in range(0,len(newList),2): 
    newDict.append(
     {'name':newList[i], 
     'hieght':newList[i+1]} 
    ) 
İlgili konular