2016-02-24 4 views
-1

Я изучаю мою часть GCSE, для которой требуется, чтобы я распечатал словарь, отсортированный по алфавиту с помощью ключа, и печать должна включать связанное значение.Как распечатать отсортированный словарь в Python 3.4.3

Я потратил часы, пытаясь найти ответ на этот вопрос, и посмотрел на различные сообщения на этом форуме, но большинство из них слишком сложны для моих ограниченных знаний.

Я могу печатать в алфавитном порядке Ключи и я могу печатать отсортированные значения, но не отсортированные по алфавиту ключи со значениями, прилагаемыми.

Это мой простой тестовый код

class1 = { 'Этан': '9', 'Ian': '3', 'Елена': '8', 'Холли': '6'} # создать словарь

печати (упорядоченные (class1)) # печатает отсортированный Кис печати (упорядоченные (class1.values ​​())) # печатает отсортированный значения

нужно напечатать отсортированные ключи со значениями - как это сделать?

для K, V в class1.items(): печать (к, v) # печатает в формате я хочу, но не в алфавитном порядке

Самое простое решение, которое вы можете обеспечить будет с благодарностью получил.

ответ

4
>>> class1 = { 'Ethan':'9','Ian':'3','Helen':'8','Holly':'6' } 
>>> print(sorted(class1.items())) 
[('Ethan', '9'), ('Helen', '8'), ('Holly', '6'), ('Ian', '3')] 

 

>>> for k,v in sorted(class1.items()): 
...  print(k, v) 
... 
Ethan 9 
Helen 8 
Holly 6 
Ian 3 

 

>>> for k,v in sorted(class1.items(), key=lambda p:p[1]): 
...  print(k,v) 
... 
Ian 3 
Holly 6 
Helen 8 
Ethan 9 

>>> for k,v in sorted(class1.items(), key=lambda p:p[1], reverse=True): 
...  print(k,v) 
... 
Ethan 9 
Helen 8 
Holly 6 
Ian 3 
+0

Спасибо. Как это сделать, чтобы он печатался как список вниз по странице без скобок и т. Д.? для k, v в классе1.items(): print (k, v) # выводится в формате, который я хочу, но не в алфавитном порядке. – PythonNewb

+0

Блестящий. Я знал, что это будет просто, но я не могу обойти его. Спасибо, Кевин очень ценит. – PythonNewb

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