if if语句是否有资格检查设置大小的增加?

时间:2014-12-15 22:52:54

标签: python dictionary set

以下if语句是否满足此条件:

  

如果集合的大小增加(表示此单词之前未处理过),请将单词作为键添加到dict,其值为集合的新长度

还是我在错误的树上吠叫?

s = set()
d = dict()

text = input("Your text here: ")
for word in text.strip().split():
    if word not in s:
        s.add(word)
        d[word] = len(s)

print(d)

2 个答案:

答案 0 :(得分:3)

不,我不认为这是对的。这听起来像你应该:

  1. 将单词添加到集合中。
  2. 测试其长度是否增加。
  3. 如果是,请将单词添加到词典中。
  4. 您的代码应如下所示:

    s = set()
    d = dict()
    
    text = input("Your text here: ")
    for word in text.strip().split():
        old_len = len(s)
        s.add(word)
        new_len = len(s)
        if new_len > old_len:
            d[word] = len(s)
    
    print(d)
    

答案 1 :(得分:0)

也许是一种更简单的方法

d = dict()
for word in raw_input('enter:').strip().split():
    if word not in d:
        d[word]=len(word)

print d.keys()