码迷,mamicode.com
首页 > 编程语言 > 详细

利用python进行数据分析第二版 (Python的数据结构,函数和文件)【1-1 数据结构和序列】

时间:2019-10-06 18:55:10      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:class   创建   序列   one   开头   tmp   允许   结构   fonts   

1.元组
元组是一个固定长度, 不可改变的Python序列对象。 创建元组的最简单方式, 是用
逗号分隔一列值:


当用复杂的表达式定义元组, 最好将值放到圆括号内, 如下所示:

1 In [3]: nested_tup = (4, 5, 6), (7, 8)
2 In [4]: nested_tup
3 Out[4]: ((4, 5, 6), (7, 8))

tuple 可以将任意序列或迭代器转换成元组:

1 In [5]: tuple([4, 0, 2])
2 Out[5]: (4, 0, 2)
3 In [6]: tup = tuple(string)
4 In [7]: tup
5 Out[7]: (s, t, r, i, n, g)

可以用方括号访问元组中的元素

1 In [8]: tup[0]
2 Out[8]: s

如果元组中的某个对象是可变的, 比如列表, 可以在原位进行修改:

1 In [9]: tup = tuple([foo, [1, 2], True])
2 In [11]: tup[1].append(3)
3 In [12]: tup
4 Out[12]: (foo, [1, 2, 3], True)

可以用加号运算符将元组串联起来:

1 In [13]: (4, None, foo) + (6, 0) + (bar,)
2 Out[13]: (4, None, foo, 6, 0, bar)

元组乘以一个整数, 像列表一样, 会将几个元组的复制串联起来

1 In [14]: (foo, bar) * 4
2 Out[14]: (foo, bar, foo, bar, foo, bar, foo, bar
3 )

 

拆分元组
如果你想将元组赋值给类似元组的变量, Python会试图拆分等号右边的值

1 In [15]: tup = (4, 5, 6)
2 In [16]: a, b, c = tup
3 In [17]: b
4 Out[17]: 5
5 即使含有元组的元组也会被拆分:
6 In [18]: tup = 4, 5, (6, 7)
7 In [19]: a, b, (c, d) = tup
8 In [20]: d
9 Out[20]: 7

 

使用这个功能, 你可以很容易地替换变量的名字, 其它语言可能是这样:
tmp = a
a = b
b = tmp
但是在Python中, 替换可以这样做:

 1 In [21]: a, b = 1, 2
 2 In [22]: a
 3 Out[22]: 1
 4 In [23]: b
 5 Out[23]: 2
 6 In [24]: b, a = a, b
 7 In [25]: a
 8 Out[25]: 2
 9 In [26]: b
10 Out[26]: 1

变量拆分常用来迭代元组或列表序列:

1 In [27]: seq = [(1, 2, 3), (4, 5, 6), (7, 8, 9)]
2 In [28]: for a, b, c in seq:
3 ....: print(a={0}, b={1}, c={2}.format(a, b, c))
4 a=1, b=2, c=3
5 a=4, b=5, c=6
6 a=7, b=8, c=9

Python最近新增了更多高级的元组拆分功能, 允许从元组的开头摘取几个元素。
使用了特殊的语法 *rest , 这也用在函数签名中以抓取任意长度列表的位置参
数:

1 In [29]: values = 1, 2, 3, 4, 5
2 In [30]: a, b, *rest = values
3 In [31]: a, b
4 Out[31]: (1, 2)
5 In [32]: rest
6 Out[32]: [3, 4, 5]

rest 的部分是想要舍弃的部分, rest的名字不重要。 作为惯用写法, 许多Python
程序员会将不需要的变量使用下划线:

In [33]: a, b, *_ = values 

 

tuple方法
因为元组的大小和内容不能修改, 它的实例方法都很轻量。 其中一个很有用的就
count ( 也适用于列表) , 它可以统计某个值得出现频率 :

1 In [34]: a = (1, 2, 2, 2, 3, 4, 2)
2 In [35]: a.count(2)
3 Out[35]: 4

 

2.列表


与元组对比, 列表的长度可变、 内容可以被修改。 你可以用方括号定义, 或
list 函数:


 

利用python进行数据分析第二版 (Python的数据结构,函数和文件)【1-1 数据结构和序列】

标签:class   创建   序列   one   开头   tmp   允许   结构   fonts   

原文地址:https://www.cnblogs.com/ucasljq/p/11627734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!