Python基础 ——集合

类似字典,是一组key的集合,它不存储value。
集合的本质:各元素间是无序的,元素在集合中没有重复。即集合是无序无重复组合,它没有索引和位置的概念。
列表、元组都是有序,里面可以有重复的元素。
集合是无序的-> 不支持下标索引;
集合是可变的数据类型;
集合中的元素是唯一的;
集合一般用于元组或者列表中的元素去重;
和判断数据是否存在 交集,并集,差集 等关系。
只支持成员操作符in、for循环迭代、枚举。
!!不支持索引,重复,连接,切片

1、集合的创建

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
set()函数,可以将其它的组合数据类型转化为可变集合类型,返回一个无重复元素且排序任意的可变集合。

集合的创建,它首先需要一个list,或tuple,或dict作为输入集合。

s1 = set(("Google", "Runoob", "Taobao"))
# 结果:{'Runoob', 'Taobao', 'Google'}

s2 = set(["Google", "2dRunoob1", "Taobao*"])
# 结果:{'2dRunoob1', 'Taobao*', 'Google'}

s3 = set({
   "江苏省": "南京市", "江西省": "九江市"})
# 结果:{'江西省', '江苏省'}

s4 = set("安徽省枞阳县石矶头镇")
# 结果:{'石', '镇', '县', '省', '安', '徽', '阳', '头', '矶', '枞'}

s5 = {
   "江苏省", "南京市", "合肥市", "安徽省"}
# 结果:{'合肥市', '安徽省', '江苏省', '南京市'}

s6 = {
   "江苏省": "南京市", "江西省": "九江市", "a":"b"}
# 结果:{'江苏省': '南京市', '江西省': '九江市', 'a': 'b'}

s7 = {
   ("Google", "Runoob"), "(1, 2)", '{"a": "b"}', "安徽省枞阳县"}
# 结果:{'{"a": "b"}', '安徽省枞阳县', '(1, 2)', ('Google', 'Runoob')}

s8 = {
   "安徽省枞阳县石矶头镇"}
# 结果:{'安徽省枞阳县石矶头镇'}

从上面的输出结果可以看出,集合会把传入的字符串拆分为单个字符作为集合的成员,当传入列表时,集合会把列表内的元素作为集合成员。从输出结果还可以看出,集合不允许有重复的元素,例传入“Java”字符串,但集合成员只会有{‘j’,’a’,’v’},重复的a被删除。

2、集合中元素的增加

A add()
将一个元素 x 添加到集合s中,如果元素已存在,则不进行任何操作。

s = {
   "baidu", "alibaba", "huawei", "xiaomi"}
a = s.add("oppo")
# 结果:{'huawei', 'xiaomi', 'oppo', 'alibaba', 'baidu'}
s = {
   "baidu", "alibaba", "huawei", "xiaomi"}
a = s.add("oppo")
a = s.add(("oppo", "apple", "三星"))
# 结果:{'xiaomi', 'baidu', 'oppo', 'huawei', ('oppo', 'apple', '三星'), 'alibaba'}

add()添加元素,不能是列表、字典可变元素

set1 = {
   "a", "b", "c"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值