2016-12-20 17 views
5

Tôi có danh sách sau đây mà tôi muốn chuyển đổi thành từ điển.Làm cách nào để tạo một từ điển có KEY mới với dữ liệu từ danh sách?

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

Tôi muốn tạo ra một từ điển như thế này:

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}] 

Điều gì sẽ là phương pháp đơn giản nhất để làm điều này?

Trả lời

6

Thưởng thức:

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

Dưới đây là danh sách nhanh chóng mở rộng bạn có thể làm:

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

Bí quyết là sử dụng thông số bước với range, mang đến cho bạn tất cả các yếu tố khác.

2
newDict = [] 
for i in range(0,len(newList),2): 
    newDict.append(
     {'name':newList[i], 
     'hieght':newList[i+1]} 
    ) 
Các vấn đề liên quan