Использование join() в словаре в python для возврата пар ключ-значение в виде одной длинной строки

#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