Можно ли как то получить значения элементов словаря без цикла 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()]
Ещё вариант:
dict1 = {'a' : 1234}
key, value = next(iter(dict1.items()))
print(key, value)
# a 1234