可以请一些人向我解释如何将一组转换成一个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'
答案 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
只是一个值 - 它只是一个数字。你想在这做什么?告诉我们更多......