Python集合添加元素(add()、update())和删除元素的五种方式

添加元素的两种方式

1)add() 一次添加一个元素

语法格式:set_name.add(element)

参数说明:element —-> 要添加的元素。

方法说明:将指定元素添加到集合中,如果该元素已经存在,则不添加该元素(集合有去重复功能)。无返回值。

s = {10,50,'hello','python',100}
print('原集合:',id(s),s)       # 原集合: 1637755659744 {'python', 50, 100, 10, 'hello'}

s.add(9999)
print('添加9999后的集合:',id(s),s)  # 添加9999后的集合: 1637755659744 {'python', 50, 100, 10, 'hello', 9999}

# 列表中的元素不能重复
s.add(10)
print('添加10后的集合:',id(s),s)  # 添加10后的集合: 1637755659744 {'python', 50, 100, 10, 'hello', 9999}
图片[1]-Python集合添加元素(add()、update())和删除元素的五种方式-尤尤'blog

add() 方法一次只能添加一个元素,如果添加一个可迭代对象,这个可迭代对象会被当做是一个元素添加进集合中。

2)update() 一次添加至少一个元素

语法格式:set_update(iterable)

参数说明:iterable —-> 可迭代对象。

方法说明:将一个或多个可迭代对象添加到集合中,可以是列表、元组、集合、字典、字符串。重复的元素只会出现一次。

返回值:返回集合与可迭代对象的并集。

s = {10,50,'hello','python',100}
print('原集合:',s)     # 原集合: {50, 100, 'hello', 10, 'python'}

s.update({888,'world',123,100})
print(s)        # {100, 10, 'python', 50, 'world', 888, 'hello', 123}

# 将字符串拆成一个个字符添加进去
s.update('java')
print(s)    # {'v', 100, 10, 'python', 'j', 50, 'world', 888, 'hello', 123, 'a'}
图片[2]-Python集合添加元素(add()、update())和删除元素的五种方式-尤尤'blog

add()和update()的区别:

add()一次只能添加一个元素,update()一次可以添加多个元素,比喻说

s = {10,50,'hello','python',100}
print('原集合:',s)     # 原集合: {'python', 50, 'hello', 100, 10}

# add():把元组看成是一个元素,添加到集合中
s.add((99,22))
print('add()添加后的集合:',s)    # add()添加后的集合: {'python', (99, 22), 50, 'hello', 100, 10}

s1 = {10,50,'hello','python',100}

# update():将元组中的每一个元素添加到集合中
s1.update((99,22))
print('update()添加后的集合:',s1)    # update()添加后的集合: {'python', 50, 'hello', 100, 99, 22, 10}
图片[3]-Python集合添加元素(add()、update())和删除元素的五种方式-尤尤'blog

删除元素的五种方式

1)remove()

语法格式:set_name.remove(element)

参数说明:

element:要被删除的元素。

方法说明:一次删除一个指定的元素,如果元素不存在则抛出异常KeyError。无返回值。

s = {10,50,'hello','python',100}
print('原集合:',s)     # 原集合: {50, 100, 'python', 10, 'hello'}

s.remove(100)

print('remove后的集合:',s)    # remove后的集合: {50, 'python', 10, 'hello'}
图片[4]-Python集合添加元素(add()、update())和删除元素的五种方式-尤尤'blog

指定要删除的元素不存在,则抛出异常 KeyError。

s = {10,50,'hello','python',100}

# 99不存在,无法删除,抛出异常KeyError
s.remove(99)    # KeyError: 99
图片[5]-Python集合添加元素(add()、update())和删除元素的五种方式-尤尤'blog

2)discard()

语法格式:set_name.discard(element)

参数说明:

element:要被删除的元素。

方法说明:一次删除一个指定的元素,如果元素不存在也不会抛出异常。无返回值。

s = {10,50,'hello','python',100}
print('原集合:',s)     # 原集合: {50, 100, 'python', 10, 'hello'}

s.discard('hello')
print('discard后的集合:',s)    # discard后的集合: {50, 100, 'python', 10}

# 'world'不存在,但不会抛出异常
s.discard('world')
图片[6]-Python集合添加元素(add()、update())和删除元素的五种方式-尤尤'blog

remove() 和 discard() 的区别:

remove():删除集合中指定的元素,如果指定元素不存在,会抛出异常KeyError。

discard():删除集合中指定的元素,如果指定元素不存在,也不会抛出异常。

3)pop()

语法格式:set_name.pop()

参数说明:无参,因为集合是无序的,所以pop()无法指定参数。

返回值:返回被删除的元素。

方法说明:一次删除一个任意元素。

s = {10,50,'hello','python',100}
print('原集合:',s)

# 返回被删除的那个元素
result = s.pop()    # 无参

print(f'被删除的元素是{result}')

print('pop()后的集合:',s)
图片[7]-Python集合添加元素(add()、update())和删除元素的五种方式-尤尤'blog

4)clear()

语法格式:set_name.clear()

参数说明:无参。

方法说明:清空集合中的元素,集合的对象还在。无返回值。

s = {10,50,'hello','python',100}
print('原集合:',s,id(s))

s.clear()

print('clear后的集合:',s,id(s))
图片[8]-Python集合添加元素(add()、update())和删除元素的五种方式-尤尤'blog

5)del

语法格式:del set_name

方法说明:清空集合中的所有元素,并彻底删除集合对象。

s = {10,50,'hello','python',100}

del s

print(s)    # NameError: name 's' is not defined. Did you mean: 's1'?
图片[9]-Python集合添加元素(add()、update())和删除元素的五种方式-尤尤'blog

清空集合元素的三种方式

1)set_name.clear():清除集合中所有元素。集合对象还在。

2)del set_name:清空集合元素,并删除集合对象。

3)s = {}:使用空集合重新赋值,集合元素没了,集合对象还在。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容