Python数据分析入门篇:序列函数有哪些应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计761个文字,预计阅读时间需要4分钟。
【Python数据分析基础-6】数据结构之序列列函数+0.+引入+上篇章节介绍了列表及其相关方法,本章节介绍以下列表及其相关函数:1.+排序(sort、sorted)+1.1+sort+列表有一个专门排序的方法sort,该方法会对列表本身进行排序。
数据结构之序列函数
0. 引入
上篇文章介绍了列表及其相关方法,这篇文章介绍一下列表以及其他序列的函数。
1. 排序(sort、sotred)
1.1 sort
列表有个专门的排序方法:sort,该方法不需要新建对象!
a = [4, 5, 3, 6, 8, 9, 1]a.sort()
a[1, 3, 4, 5, 6, 8, 9]
再来看看元素是字符串的列表排序:
s = ['tu', 'dou', 'tong', 'xue']s.sort()
s['dou', 'tong', 'tu', 'xue'] # 按照字母顺序进行排序
如果想要按照字符串长度进行排序,可以传入参数
s = ['tu', 'dou', 'tong', 'xue']s.sort(key=len)
s['tu', 'dou', 'xue', 'tong']
1.2 sorted
除此之外,序列包括列表都可以使用sorted函数返回一个新建的已排序列表。该函数不仅适用于列表适用于元组等其他序列,但是返回的是列表!
a = [4, 5, 3, 6, 8, 9, 1]sorted(a)[1, 3, 4, 5, 6, 8, 9]
再来看看当序列为元组时:
b = (2, 5, 3, 7, 5)print(type(b))
sorted(b)<class 'tuple'> # b为元组
[2, 3, 5, 5, 7] # 返回了列表
字符串:
s = ['tu', 'dou', 'tong', 'xue']sorted(s)['dou', 'tong', 'tu', 'xue']
传入参数:
s = ['tu', 'dou', 'tong', 'xue']sorted(s, key=len)['tu', 'dou', 'xue', 'tong']
2. enumerate
enumerate函数用于当我们需要在遍历序列的同时,得到每个元素及其索引。
s = ['tu', 'dou', 'tong', 'xue']for i, value in enumerate(s): # 索引值赋予i,元素值赋予value
print(i, value)0 tu
1 dou
2 tong
3 xue
3. zip
zip函数可以将列表、元组或其他序列的元素进行配对,新建一个元组构成的列表:
s1 = ['tu', 'dou', 'tong', 'xue']s2 = ['jia', 'you']
list(zip(s1, s2))[('tu', 'jia'), ('dou', 'you')]
zip可以处理任意长度的序列,它生成的列表长度由最短的序列决定。
zip常常和enumerate函数一起使用,并且这其中不需要使用list函数进行转换:
s1 = ['tu', 'dou', 'tong', 'xue']s2 = ['jia', 'you']
for i, (a, b) in enumerate(zip(s1, s2)):
print(i, (a, b))0 ('tu', 'jia')
1 ('dou', 'you')
4. reversed
reversed函数可以将序列的元素倒序排列,效果与list[::-1]相同:
a = [4, 5, 3, 6, 8, 9, 1]print(a[::-1])
list(reversed(a))[1, 9, 8, 6, 3, 5, 4]
[1, 9, 8, 6, 3, 5, 4]
值得一提的是,reversed是一个生成器,因此需要将其进行实例化(如使用list函数或者进行for循环),否则它是无法直接产生一个倒序的列表。
OK,这篇文章到这里就结束了,下篇文章将介绍字典!
本文共计761个文字,预计阅读时间需要4分钟。
【Python数据分析基础-6】数据结构之序列列函数+0.+引入+上篇章节介绍了列表及其相关方法,本章节介绍以下列表及其相关函数:1.+排序(sort、sorted)+1.1+sort+列表有一个专门排序的方法sort,该方法会对列表本身进行排序。
数据结构之序列函数
0. 引入
上篇文章介绍了列表及其相关方法,这篇文章介绍一下列表以及其他序列的函数。
1. 排序(sort、sotred)
1.1 sort
列表有个专门的排序方法:sort,该方法不需要新建对象!
a = [4, 5, 3, 6, 8, 9, 1]a.sort()
a[1, 3, 4, 5, 6, 8, 9]
再来看看元素是字符串的列表排序:
s = ['tu', 'dou', 'tong', 'xue']s.sort()
s['dou', 'tong', 'tu', 'xue'] # 按照字母顺序进行排序
如果想要按照字符串长度进行排序,可以传入参数
s = ['tu', 'dou', 'tong', 'xue']s.sort(key=len)
s['tu', 'dou', 'xue', 'tong']
1.2 sorted
除此之外,序列包括列表都可以使用sorted函数返回一个新建的已排序列表。该函数不仅适用于列表适用于元组等其他序列,但是返回的是列表!
a = [4, 5, 3, 6, 8, 9, 1]sorted(a)[1, 3, 4, 5, 6, 8, 9]
再来看看当序列为元组时:
b = (2, 5, 3, 7, 5)print(type(b))
sorted(b)<class 'tuple'> # b为元组
[2, 3, 5, 5, 7] # 返回了列表
字符串:
s = ['tu', 'dou', 'tong', 'xue']sorted(s)['dou', 'tong', 'tu', 'xue']
传入参数:
s = ['tu', 'dou', 'tong', 'xue']sorted(s, key=len)['tu', 'dou', 'xue', 'tong']
2. enumerate
enumerate函数用于当我们需要在遍历序列的同时,得到每个元素及其索引。
s = ['tu', 'dou', 'tong', 'xue']for i, value in enumerate(s): # 索引值赋予i,元素值赋予value
print(i, value)0 tu
1 dou
2 tong
3 xue
3. zip
zip函数可以将列表、元组或其他序列的元素进行配对,新建一个元组构成的列表:
s1 = ['tu', 'dou', 'tong', 'xue']s2 = ['jia', 'you']
list(zip(s1, s2))[('tu', 'jia'), ('dou', 'you')]
zip可以处理任意长度的序列,它生成的列表长度由最短的序列决定。
zip常常和enumerate函数一起使用,并且这其中不需要使用list函数进行转换:
s1 = ['tu', 'dou', 'tong', 'xue']s2 = ['jia', 'you']
for i, (a, b) in enumerate(zip(s1, s2)):
print(i, (a, b))0 ('tu', 'jia')
1 ('dou', 'you')
4. reversed
reversed函数可以将序列的元素倒序排列,效果与list[::-1]相同:
a = [4, 5, 3, 6, 8, 9, 1]print(a[::-1])
list(reversed(a))[1, 9, 8, 6, 3, 5, 4]
[1, 9, 8, 6, 3, 5, 4]
值得一提的是,reversed是一个生成器,因此需要将其进行实例化(如使用list函数或者进行for循环),否则它是无法直接产生一个倒序的列表。
OK,这篇文章到这里就结束了,下篇文章将介绍字典!

