python set模块

2020-08-14 10:12:21 浏览数 (2)

set模块基本功能

  • Set 最主要的功能就是寻找一个句子或者一个 list 当中不同的元素.
代码语言:javascript复制
char_list = ['a', 'b', 'c', 'c', 'd', 'd', 'd']

sentence = 'Welcome Back to This Tutorial'

print(set(char_list))
# {'b', 'd', 'a', 'c'}

print(set(sentence))
# {'l', 'm', 'a', 'c', 't', 'r', 's', ' ', 'o', 'W', 'T', 'B', 'i', 'e', 'u', 'h', 'k'}

print(set(char_list  list(sentence)))
# {'l', 'm', 'a', 'c', 't', 'r', 's', ' ', 'd', 'o', 'W', 'T', 'B', 'i', 'e', 'k', 'h', 'u', 'b'}
  • 值得注意的是,sentence是一个字符串,但是可不是将其作为单个单词进行分割,而是将其分割成了每一个字符。

添加元素

  • 定义好一个 set 之后我们还可以对其添加需要的元素, 使用 add 就能添加某个元素. 但是不是每一个东西都能添加, 比如一个列表. 添加只能添加单个元素而不是列表这种复合对象
代码语言:javascript复制
unique_char = set(char_list)
unique_char.add('x')
# unique_char.add(['y', 'z']) this is wrong
print(unique_char)

# {'x', 'b', 'd', 'c', 'a'}

清除元素和清空set

  • 清除一个元素可以用 remove 或者 discard, 而清除全部可以用 clear.
代码语言:javascript复制
unique_char.remove('x')
print(unique_char)
# {'b', 'd', 'c', 'a'}

unique_char.discard('d')
print(unique_char)
# {'b', 'c', 'a'}

unique_char.clear()
print(unique_char)
# set()

筛选操作

  • a.difference(b) 返回a中有的但是b中没有的元素
  • a.intersection(b) 返回a和b中都有的元素
代码语言:javascript复制
unique_char = set(char_list)
print(unique_char.difference({'a', 'e', 'i'}))
# {'b', 'd', 'c'}

print(unique_char.intersection({'a', 'e', 'i'}))
# {'a'}

0 人点赞