阿里云天池Python训练营

阿里云天池Python训练营

 

本节主要介绍python中的序列与集合,并针对相关用法进行展开说明。其中拓展了需要掌握及区别的内容,对于切片的用法及内置函数需重点掌握。

 

十、集合

 

集合是一个无序不重复元素的集(无序性 唯一性)

集合中的元素必须是不可变类型(可哈希)

 

1. 集合的创建

先创建对象再加入元素

创建空集合时 只能使用set()

{元素1, 元素2, ..., 元素n}

set中会自动删除重复元素

 

2. 访问集合中的值

len()获得集合的大小

利用for循环 将集合中的数据逐个读取

通过innot in判断一个元素是否存在于集合中

 

3. 内置方法

 

set.add(elmnt)

用于给集合添加元素

set.update(set)

修改当前集合 添加新的元素或集合到当前集合中

set.remove(item)

移除集合中的指定元素 (如果元素不存在 则报错)

set.discard(value)

用于移除指定的集合元素

remove() 移除不存在元素时会发生错误  discard() 不会

set.pop()

随机移除一个元素

 set 是无序和无重复元素的集合 多个 set 可以做数学上的集合操作

set.intersection(set1, set2)     等价于     set1 & set2

集合的交集(生成一个新的集合)

set.intersection_update(set1, set2)

集合的交集(在原始的集合上移除不重叠的元素)

set.union(set1, set2)      等价于     set1 | set2

集合的并集

set.difference(set)      等价于     set1 - set2

集合的差集

set.difference_update(set)

集合的差集(在原始的集合上移除元素)

set.symmetric_difference(set)     等价于     set1 ^ set2

集合的异或

set.symmetric_difference_update(set)

集合的异或(在原始的集合上移除重叠的元素 并插入不同的元素)

set.issubset(set)     等价于     set1 <= set2

判断集合是不是被其他集合包含 如果是则返回 True 不是返回 False

set.issuperset(set)   等价于     set1 >= set2

判断集合是不是包含其他集合 如果是则返回 True 不是返回 False

set.isdisjoint(set)

判断两个集合是不是不相交 如果是返回 True 不是返回 False

 

4. 集合的转换

使用set(value) 将列表或元组转换成集合

 

5. 不可变集合

frozenset为不能改变元素的集合(不能增加或删除元素)

frozenset可进行集合操作 不能用update方法

frozenset([iterable])

冻结的集合 不能再添加或删除任何元素

 

十一、序列

序列类型包括字符串 列表 元组 集合和字典 (集合和字典不支持索引 切片 相加 相乘)

 

1.内置函数

list(sub)

把一个可迭代对象转换为列表

tuple(sub)

把一个可迭代对象转换为元组

str(obj)

把对象转换为字符串

len(s)

对象(字符 列表 元组等)长度或元素个数

max(sub)

序列或参数集合中的最大值

min(sub)

序列或参数集合中的最小值

sum(iterable[, start=0])

序列与可选参数start的总和

sorted(iterable, key=None, reverse=False)

对所有可迭代的对象排序

iterable:可迭代对象

key:进行比较的元素 只有一个参数

reverse:排序规则 reverse = True降序 reverse = False 升序(默认)

reversed(seq)

反转迭代器(转换的序列包括 tuple string list range)

enumerate(sequence, [start=0])

将可遍历的数据对象(列表 元组 字符串)组合为一个索引序列 同时列出数据和索引数

zip(iter1 [,iter2 [...]])

将可迭代对象中的元素打包成多个元组(节约内存)

list() 可用于输出打包后的列表 

迭代器的元素个数不一致时 按最短的对象长度输出列表

*操作符 将元组解压为列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值