python基础数据类型(四)


集合(set)

集合介绍

集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素。是可变数据类型。
集合数据类型的核心是去重。

创建集合
- 用{}创建

集合使用{}框定元素,并以逗号分隔。其格式为:
name={key1,key2,key3……}

- 用set()创建

使用set()方法来创建,括号中的为可迭代对象。
其格式为:
name=set(iterable)
示例:

l = ["sword", "art", "online"]
s_1 = {"刀剑神域"}
s_2 = set(l)
print(s_1)
print(type(s_1))
print(s_2)
print(type(s_2))
  # ==>{'刀剑神域'}
  # ==><class 'set'>
  # ==>{'art', 'sword', 'online'}
  # ==><class 'set'>
注意:

直接使用{}不添加元素创建的为空字典,而不是空集合。
创建空集合需要使用set()

集合添加元素
方法功能
set.add(key)将元素(key)添加到集合(set)中

示例:

l = ["sword", "art", "online"]
s = {"刀剑神域"}
s.add("sword")
print(s)  # ==>{'sword', '刀剑神域'}
s.add(l)
print(s)  # ==>报错TypeError: unhashable type: 'list'
注意:
  • 可以重复添加,但是会自动去重,所以无效果。
  • 不能添加可变对象。如:列表
集合更新
方法功能
set.update()将另一个对象更新到已有的集合(set)中

示例:

l = ["art", "online", "sao"]
s_1 = {"刀剑神域"}
s_2 = {"sword", "art", "online"}
s_1.update(s_2)
print(s_1)  # ==>{'art', 'sword', '刀剑神域', 'online'}
s_1.update(l)
print(s_1)  # ==>{'art', 'sword', 'online', 'sao', '刀剑神域'}
注意:

这一过程中同样会进行去重。

删除元素
方法功能
set.remove()删除指定元素
set.pop()删除随机元素(无参数)

示例:

s_1 = {"刀剑神域", "sword", "art", "online", "sao"}
s_1.remove("sao")
print(s_1)  # ==>{'刀剑神域', 'online', 'art', 'sword'}
s_2 = {"刀剑神域", "sword", "art", "online", "sao"}
s_2.pop()
print(s_2)  # ==>{'online', 'sao', 'art', 'sword'}
注意:

集合不能取出某个元素,因为集合既不支持下标索引也不支持字典那样的通过键值对获取。

声明:一代明君的小屋|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - python基础数据类型(四)


欢迎来到我的小屋