Python 在同一行的DICT列表中打印相同的值

Python 在同一行的DICT列表中打印相同的值,python,list,dictionary,printing,Python,List,Dictionary,Printing,我有一张这样的口述清单: mylist = [{'name':'Alice','age':18},{'name':'Bob','age':19}] 我想把它打印成这样的一行: mylist = [{'name':'Alice','age':18},{'name':'Bob','age':19}] 爱丽丝18岁,鲍勃19岁 如果我迭代它并使用print,它总是使用换行符…您可以像这样使用Python字符串作为模板 mylist = [{'name': 'Alice', 'age': 18},

我有一张这样的口述清单:

mylist = [{'name':'Alice','age':18},{'name':'Bob','age':19}]
我想把它打印成这样的一行:

mylist = [{'name':'Alice','age':18},{'name':'Bob','age':19}]
爱丽丝18岁,鲍勃19岁


如果我迭代它并使用print,它总是使用换行符…

您可以像这样使用Python字符串作为模板

mylist = [{'name': 'Alice', 'age': 18}, {'name': 'Bob', 'age': 19}]
print ", ".join("{name} is {age} years old".format(**item) for item in mylist)
# Alice is 18 years old, Bob is 19 years old

我们从列表中取出每一项,并打开字符串上的字典以替换相应的值。最后,我们使用
连接result,这将以您期望的格式给出结果。

使用
连接
,而不是使用print进行迭代,如中所示

print ", ".join([entry['name'] + " is " + str(entry['age']) + " years old" for entry in mylist])

join
将列表中作为参数的字符串与调用它的任何字符串粘在一起。当然,您也可以用格式字符串替换
entry['name']+“is”+str(entry['age'])+“years old”
,例如
%s是%d yeard”%(entry['name'],entry['age'])”
或(使用新的格式字符串语法和关键字参数)
“{name}是{age}yeard”。format(**entry)

您应该特别研究Python的字符串方法。