13

我有一个集合列表(使用 Python)。有没有办法在没有“set([])”的情况下打印它,只输出它们持有的实际值?

现在,对于列表中的每个项目,我都得到了类似的东西

 set(['blah', 'blahh' blahhh')]

我希望它看起来更像这样

blah,blahh,blahhh
4

3 回答 3

17

方法很多,但我首先想到的是:

s = set([0,1])
", ".join(str(e) for e in s)

将集合中的所有内容转换为字符串,并用逗号将它们连接在一起。显然,您对显示的偏好可能会有所不同,但您可以愉快地将其传递给print. 应该在 python 2 和 python 3 中工作。

对于集合列表:

l = [{0,1}, {2,3}]
for s in l:
    print(", ".join(str(e) for e in s))
于 2013-07-19T15:42:44.953 回答
4

我假设您想要集合中元素的字符串表示形式。在这种情况下,这应该有效:

s = set([1,2,3])
print " ".join(str(x) for x in s)

但是,这取决于 s 的元素是否具有__str__方法,因此在打印出集合中的元素时请记住这一点。

于 2013-07-19T15:44:21.307 回答
2

假设您的集合列表被调用set_list,您可以使用以下代码

for s in set_list:
    print ', '.join(str(item) for item in s)

如果set_list等于[{1,2,3}, {4,5,6}],那么输出将是

1, 2, 3
4, 5, 6
于 2013-07-19T15:44:50.710 回答