Как заказать ключи словаря - PullRequest
0 голосов
/ 04 марта 2020

У меня есть приведенный ниже словарь, и я хотел бы напечатать ключи в следующем порядке: [Name,Gender,Occupation,Location]

{'Gender': 'Male',
 'Location': 'Nizampet,Hyderabad',
 'Name': 'Srikanth',
 'Occupation': 'Data Scientist'}

Может кто-нибудь подсказать, как это можно сделать.

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Если у вас есть предопределенный порядок, в котором вы хотите распечатать данные, сохраните порядок в списке ключей и через них l oop.

data = {
    'Gender': 'Male',
    'Location': 'Nizampet,Hyderabad',
    'Name': 'Srikanth',
    'Occupation': 'Data Scientist'
}

print_order = [
    'Name',
    'Gender',
    'Occupation',
    'Location',
]

for key in print_order:
    print(f'{key}: {data[key]}')

Вывод:

$ python3 print_dict_in_order.py
Name: Srikanth
Gender: Male
Occupation: Data Scientist
Location: Nizampet,Hyderabad
0 голосов
/ 04 марта 2020

Вы можете упорядочить порядок клавиш при создании словаря.

Python 3.7 +

В Python 3.7.0 природа сохранения порядка вставки объектов dict объявлена ​​официальной частью языка Python спе c. Поэтому вы можете зависеть от него.

old_dict = {'Gender': 'Male', 'Location': 'Nizampet,Hyderabad', 'Name': 'Srikanth', 'Occupation': 'Data Scientist'}

new_dict = {
    "Name": old_dict["Name"],
    "Gender": old_dict["Gender"],
    "Occupation": old_dict["Occupation"],
    "Location": old_dict["Location"]
}

print(new_dict)

Вывод

{'Name': 'Srikanth', 'Gender': 'Male', 'Occupation': 'Data Scientist', 'Location': 'Nizampet,Hyderabad'}
...