set() 用法,句子单词去重

2020-02-11  本文已影响0人  Poisson_Lee

https://github.com/TheAlgorithms/Python/blob/master/strings/remove_duplicate.py

# Created by sarathkaul on 14/11/19


def remove_duplicates(sentence: str) -> str:
    """
    Reomove duplicates from sentence
    >>> remove_duplicates("Python is great and Java is also great")
    'Java Python also and great is'
    """
    sen_list = sentence.split(" ")
    check = set()

    for a_word in sen_list:
        check.add(a_word)

    return " ".join(sorted(check))


if __name__ == "__main__":
    print(remove_duplicates("INPUT_SENTENCE"))

集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

方法 描述
add() 为集合添加元素
clear() 移除集合中的所有元素
copy() 拷贝一个集合
difference() 返回多个集合的差集
difference_update() 移除集合中的元素,该元素在指定的集合也存在。
discard() 删除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 返回集合的交集。
isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset() 判断指定集合是否为该方法参数集合的子集。
issuperset() 判断该方法的参数集合是否为指定集合的子集
pop() 随机移除元素
remove() 移除指定元素
symmetric_difference() 返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union() 返回两个集合的并集
update() 给集合添加元素

add/update区别

myset1 = set()
myset1.add('hello')
#{'hello'}
myset1.update('world')
#{'d', 'hello', 'l', 'o', 'r', 'w'}

myset2 = set()
myset2.add('123')
myset2.update('123')
#{'1', '123', '2', '3'}

https://blog.csdn.net/weixin_42317507/article/details/91583349

discard/remove区别
使用discard和remove都可以删除set当中的元素,区别就是remove的元素在set当中没有的话会报错,而discard不会。
https://www.jianshu.com/p/a5b87feb6bfa

copy是浅拷贝,会产生一个改变另一个跟着改变的问题

上一篇下一篇

猜你喜欢

热点阅读