Python集:"空"元素,输入不正确

时间:2016-05-06 15:19:24

标签: python python-3.x set

我无法理解它是如何运作的。 我输入了:

10 2 3 4 8

简单的代码

b = set(input())
print(b)

返回:

{' ', '3', '1', '2', '8', '0', '4'}

为什么我得到这个' ' el。以及如何获得10而不是'1''0'

2 个答案:

答案 0 :(得分:2)

set()采用可迭代(例如list,tuple,dict等)并生成一组项。例如:

x = [4, 5, 6]
y = set(x)
print(y)
#set([4, 5, 6])

字符串也是可迭代的:

for char in "yay":
    print(char)

#Output:
y
a
y

因此,一个集合可以转换字符串:

x = "yay there"
y = set(x)
print(y)
#set(['a', ' ', 'e', 'h', 'r', 't', 'y'])

如果您想要每个单词,请使用.split()

b = set(input().split())

答案 1 :(得分:0)

使用filter()lambda函数删除空格元素:

>>> filter(lambda x: x is not " ", [" ", "1", "2", " "])
>>> ['1', '2']