Можно ли как то получить значения элементов словаря без цикла for

Допустим есть словарь

dict1 = {'a' : 1234}

Можно ли как то присвоить значения элементов словаря ('a' и 1234) к переменным key и val не используя цикл for

У меня есть код, но он с циклом for

for key, val in dict1.items():
    print(key, val)

Ответы (2 шт):

Автор решения: Глеб

Если вы хотите распечатать словарь построчно, советую использовать что-то вроде:

import pprint
t = tuple(dict1.items())
pprint.pprint(t)

t — это преобразованный в кортеж словарь. С помощью функции pprint вы можете красиво и построчно его распечатать. Если нужно без скобок — без for или спискового включения вряд ли можно это сделать.

Если вы хотите присвоить переменным key и val все ключи и значения соответственно, воспользуйтесь методами keys() и values():

key, val = list(dict1.keys()), list(dict1.values())

Вообще говоря, почему вам так не нравится цикл for? В нем нет ничего плохого, это одно из центральных ключевых слов в питоне. Если у вас к нему антипатия, можете воспользоваться списковым включением (тот же for, но видоизмененный), например:

key = [i[0] for i in dict1.items()]
→ Ссылка
Автор решения: CrazyElf

Ещё вариант:

dict1 = {'a' : 1234}
key, value = next(iter(dict1.items()))
print(key, value)
# a 1234
→ Ссылка