我有一个像这样的词典列表:
mylist = [{'name':'Alice','age':18},{'name':'Bob','age':19}]
我想用一行打印出来,看起来像这样:
Alice is 18 years old, Bob is 19 years old
如果我迭代它并使用print,它总是使用换行符......
答案 0 :(得分:1)
您可以将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
我们从列表中获取每个项目,并在字符串上解压缩字典以替换相应的值。最后,我们使用,
加入结果,这将以您期望的格式提供结果。
答案 1 :(得分:1)
使用join
,而不是使用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 is %d years old" % (entry['name'], entry['age'])"
或(使用新格式字符串语法和关键字参数)"{name} is {age} years old".format(**entry)