#python #python-3.x #string #dictionary
#python #python-3.x #строка #словарь
Вопрос:
Я хочу join()
пары ключ и значение в моем словаре с :
промежуточным значением. Я хочу вернуть все это как одну строку.
Интуитивно я надеялся, что простое подключение словаря сработает:
def format_grades(grades):
return ': '.join(grades) "n"
Я попробовал что-то подобное ': '.join(str(n) for n in grades[n])
, чтобы преобразовать мои значения в строки, поскольку мой dict выглядит так: {john: 2}
но я не могу сейчас думать, идеи?
Комментарии:
1. Как выглядит ваш словарь оценок?
2. @DeveshKumarSingh пары ключ-значение выглядят следующим образом; {kumar : 69}
Ответ №1:
Использование f-строк в python3 — вы можете перебирать элементы в dict и печатать каждый в новой строке.
print("n".join(f'{k}: {v}' for k,v in grades.items()))
Пример:
grades = {'john': 2, 'marry': 4}
print("n".join(f'{k}: {v}' for k,v in grades.items()))
Вывод:
john: 2
marry: 4
Ответ №2:
def format_grades(grades):
return ( "n".join([str(i[0]) ":" str(i[1]) for i in grades.items()]) )
Ответ №3:
Вы можете перебирать ключи и значения и создавать строку, соединяя их
grades = {'Joe':'A','John':'B'}
print(" ".join('{}: {}'.format(k,v) for k,v in grades.items()))
#Joe: A John: B