标签: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