在Python中打印集合时删除集合标识符

2024-05-14 14:09:28 发布

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

我试图打印出一个集合的内容,当我这样做时,我在打印输出中得到集合标识符。例如,这是下面代码的输出set(['a', 'c', 'b', 'e', 'd', 'f', 'gg', 'ff', 'jk'])。我想去掉set这个词。我的代码非常简单,如下所示。

infile = open("P3TestData.txt", "r")
words = set(infile.read().split())
print words

这里是我的输出,供参考:set(['a', 'c', 'b', 'e', 'd', 'f', 'gg', 'ff', 'jk'])


Tags: 代码txt内容read标识符openinfilesplit
3条回答

print语句使用set__str__()实现。你可以:

  1. 使用自己的打印功能,而不是使用print。获得更好格式的一个简单方法可能是使用list__str__()实现来代替:

    print list(my_set)

  2. 重写您自己的set子类中的__str__()实现。

如果需要大括号,可以这样做:

>>> s={1,2,3}
>>> s
set([1, 2, 3])
>>> print list(s).__str__().replace('[','{').replace(']','}')
{1, 2, 3}

或者,使用格式:

>>> print '{{{}}}'.format(', '.join(str(e) for e in set([1,'2',3.0])))
{3.0, 1, 2}

您可以将集合转换为列表,仅用于打印:

print list(words)

或者可以使用str.join()将集合的内容用逗号连接起来:

print ', '.join(words)

相关问题 更多 >

    热门问题