用python打印和格式化元组

2024-09-22 16:25:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个:

record = (u'U9', [(u'U2', 1.0), (u'U10', 0.6666666666666666), (u'U2', 1.0)])

我想把它作为文件的打印输出:

^{pr2}$

注意:输出中只需要唯一的值(U2只打印一次,尽管出现了两次)

我试过使用:

for i in record[1]:
   print record[1], ":", record[i[0]]

但这给了我:

U9:U2
U9:U10
U9:U2

Tags: 文件inforrecordprint打印输出u2pr2
1条回答
网友
1楼 · 发布于 2024-09-22 16:25:22

将唯一值提取到一个集合中,然后将这些值合并到单个字符串中:

unique = {t[0] for t in record[1]}
print '{}:{}'.format(record[0], ','.join(unique))

演示:

^{pr2}$

请注意,集合是无序的,这就是为什么您为这个输入得到U10,U2,而不是{}。见Why is the order in dictionaries and sets arbitrary?

如果顺序重要,请将键值对列表转换为^{} object,然后从结果中获取键:

^{3}$

相关问题 更多 >