序列是什么? 他们有什么共同特征?
我们学过了;字符串,列表 元组,Python他们统称为序列,对于序列来说,可分为:可变序列,和不可变序列;列表是可变序列,元组和字符串是不可变序列,前面学到的;这样分类大家都清晰很多了吧。字典是无序的可变序列不过字典并属于序列里面因为他不具备一下特征:
序列有一些共同特征:
1;都可以通过 索引值 获得元素
2;都可以通过 切片 的方法获取元素
3;都有很多共同的 运算符。
下面列举的都是序列里通用的方法:
1;共同点
序列的 是拼接的意思,序列的*是复制的意思
Python的所有对象都有3大属性,1;唯一标识 2;属性 3;值
# 元组
a=(1,2,3)
b=(4,5,6)
print(a b) # 拼接
print(a*3) # 复制
print(id(a),id(b),type(a)) # id 查询唯一标识, type 查询属性。
# 字符串
a='刘毅说:'
b='今天天气不错'
print(a b)
print(a*3)
print(id(a),id(b),type(a))
# 列表
a=[1,2,3]
b=[4,5,6]
print(a b)
print(a*3)
print(id(a),id(b),type(a))
2:共同点
is 与 not is ,相当于 ==,!=
in 与 not in,相当于 在里面,不在里面’
3:共同点
id 用于查询 唯一标识,type 用于查询属性
4;字符串(str),列表(list),元组(tuple) 三者互相转换,方法很简单;
a = [1,2,3,4,5]
b = (6,7,8,9)
c = '今天天气不错'
a1=tuple(a)
a2=str(a)
# 列表转元组
print(a1,type(a1))
# 列表转字符串
print(a2,type(a2))
b1=str(b)
b2=list(b)
# 元组转字符串
print(b1,type(b1))
# 元组转列表
print(b2,type(b2))
c1=list(c)
c2=tuple(c)
# 字符串转列表
print(c1,type(c1))
# 字符串转元组
print(c2,type(c2))
5;max 求最大值,min 求最小值,len 求长度
a = [1,2,3,4,5]
b = (6,7,8,9)
c = 'abcdefg'
# 字符串的最大,最小值,是26个字母的倒序,字符串应该每人去比较大小吧
print(f"列表里最大值:{max(a)},最小值:{min(a)},长度是:{len(a)},和是:{sum(a)}")
print(f"元组里最大值:{max(b)},最小值:{min(b)},长度是:{len(b)},和是:{sum(b)}")
print(f"字符串里最大值:{max(c)},最小值:{min(c)},长度是:{len(c)}")
6;sorted 临时排序,并生成一个新的列表.
与a.sort不一样,sort不能作用于元组和字符串,同时.sort 是作用于原表的永久排序。
7;all 判断可迭代对象中是否所有元素都为真,all的用途可以用于判断在计算过程中列表是否为空,为空的情况下all也会返回False。
any 判断可迭代对象中是否存在某个元素为真
这两个比较好理解 就不展示了,意思就是字面意思。
8;enumerate( , 默认0) 格式:list(enumerate( ))可以理解为:为列表,元组,字符串里每个元素前面添加一个从0开始的标识符。
通过这个方法可以很快地找到 索引值,如果从1开始就可以很快找到元素的位置。
9;zip函数【重要的函数】,格式:list(zip( ))这个在字典里用得比较多,可以很快地创建2元,3元,4元列表。比较常用需要多练习
10;map()函数【重要的函数】返回编码值,格式:list(map(ord, ))刚刚我们对字符串进行了求大小,会出乎意料之外。因为比较的是字符串的编码值
我们来看看编码值是多少,也许就知道了。
如果不使用map(ord, )呢?ord函数是求出编码值,可以用其他你想用到的函数
回到map()函数的定义:
1;会根据函数对指定的可迭代的对象进行运算,根据函数的意思是可以用ord,可以用pow可以len,min等等。。。
2;返回运算结果的迭代器(所以前面要加上list 转换为列表)
当计算许多数据不同的数据时候,使用这种方法效率较高。
11;filter 函数,【重要的函数】 根据提供的函数对指定的可迭代对象的每个元素进行计算,如果结果为真则以迭代器的形式返回,相当于 过滤器函数。
,