Python如何:将set转换为int

时间:2012-02-06 01:54:40

标签: python python-3.2

可以请一些人向我解释如何将一组转换成一个int,它的作业

当我需要将集合的长度与列表的长度或其他内容进行比较时?

lst = []
oldset =set()
word_set = {}


    while True:
    inp = input('Enter text: ')

    if inp == '':
        print('Finished')
        break

    lst = inp.split()
    for word in lst:
        oldset.add(word)
        oldset = len(oldset)# im sure that this line is my error it tells me to remove .add but i need that

    if word_count < len(word_set):
        word_count[word] = len(word_set.keys())
    print(word,word_count)

我收到的错误消息是

Traceback (most recent call last):                                                                                                                                         
  File "./input_counter.py", line 17, in <module>                                                                                                                          
    oldset.add(word)                                                                                                                                                       
AttributeError: 'int' object has no attribute 'add'

2 个答案:

答案 0 :(得分:5)

s是您的设置,请执行len(s)。这将返回集合中元素的数量。

请不要将此称为“将集合转换为int”。这不是你正在做的事情 - 你获得了集合的基数,而不是“转换”,因为你获得的int不是原始的一些替代表示,它是一个数字它包含原始的属性

答案 1 :(得分:2)

我不确定您要使用此代码完成的任务:

for word in lst:
    oldset.add(word)
    oldset = len(oldset)

但是你实际完成的内容如下:你循环遍历lst中的所有单词,对于每个单词,你尝试将单词添加到oldset,然后你拆除{{ 1}}并将其替换为oldset - int的长度。这显然只能使用一次,因为在您执行一次后,oldset不再是oldset,而是set

了解int容器 - 它包含许多其他内容 - 而set只是一个值 - 它只是一个数字。你想在这做什么?告诉我们更多......