python 基础 1.5 python数据类型(三)--元组

一.python的数据类型 序列--元组
1.序列
1》字符串,列表,元组都是序列。
2》序列的两个特点是索引操作符和切片操作符
索引操作符:我们可以从序列中抓取一个特定项目
切片操作符:让我们可以获取序列的一个切片,即一部分序列
 
2.序列的基本操作:
1》len() //求序列的长度
2》+ //连接2个序列
3》* //重复序列元素
4》in //判断元素是否在序列中
5》max() //返回最大值
6》min() //返回最小值
7》cmp(x,y) //比较两个序列是否相等。cmp比较的不是字母多少个,比较的是字母的大小(a-z由小到大)
 
len用法:求序列的长度
In [2]: a = 'abcdef'
In [3]: a
Out[3]: 'abcdef'
 
In [4]: len(a)
Out[4]: 6
 
‘+’ 号用法:连接两个序列
In [5]: a + 'g'
Out[5]: 'abcdefg'
 
 
‘*’ 号用法:重复序列元素
In [6]: a *3 //abcdef 重复3次
Out[6]: 'abcdefabcdefabcdef'
 
In [9]: '#' * 5 //#号重复5次
Out[9]: '#####'
 
in用法:判断元素是否在序列里
In [10]: a
Out[10]: 'abcdef'
 
In [11]: 'a' in a //判断a的字符是否在a的序列里,返回值为true
Out[11]: True
 
In [12]: 'h' in a //判断h是否在a的序列里,返回值为false,说明不在a的序列里
Out[12]: False
 
not in 用法://判断元素不在序列里
In [13]: 'h' not in a //判断h是否在a的序列里,返回值为true,说明h不在a的序列里
Out[13]: True
 
max() 与 min() 求一个序列里的最大值与最小值
In [14]: a
Out[14]: 'abcdef'
 
In [15]: max(a) //a序列里的最大值为f
Out[15]: 'f'
 
In [16]: min(a) //a序列里的最小值为a
Out[16]: 'a'
 
cmp(x,y):比较两序列是否相等
In [17]: help(cmp)
Help on built-in function cmp in module __builtin__:
 
cmp(...)
cmp(x, y) -> integer
 
Return negative if x<y, zero if x==y, positive if x>y.
注:如果返回值为负数(negative)则x小于y。如果返回值为0,则x等于y。如果返回值为正数,则x大于y。
In [24]: a //a的序列为“abcdef”
Out[24]: 'abcdef'
 
In [23]: cmp(a,'abcde') //比较a的序列与字符串abcde。返回值为正数,说明a序列大于字符串abcde
Out[23]: 1
 
In [25]: cmp(a,'abcdef') //返回值为0,说明a序列等于字符串“abcdef”
Out[25]: 0
 
In [26]: cmp(a,'abcdefg') //返回值为负1,说明a序列小于字符串“abcdefg”
Out[26]: -1
 
In [27]: cmp(a+'g','abcdefg') //返回值为0,说明相等
Out[27]: 0
 
 
2.元组(),定义元组用圆括号表示
1》元组和列表十分相似
2》元组和字符串一样是不可变的
元组可以存储一系列的值
元组通常用在用户定义的函数能够安全的采用一组值的时候,即被使用的元组的值不会改变。
3》定义一个元组
In [30]: t = ('a',1,(1,)) //元组里可以存放:字符,数字,还可以存放另一个元组(1,)
In [31]: t
Out[31]: ('a', 1, (1,))
 
In [32]: t1 = (1,) //定义一个新的元组为t1,圆括号里边的1,只有加逗号才表示元组
In [34]: type (t1) //t1的类型
Out[34]: tuple 元组
 
In [35]: t //查看t元组
Out[35]: ('a', 1, (1,))
 
In [36]: t[0] //查看t元组中第一个字符为a
Out[36]: 'a'
 
In [37]: t[0] = 6 //想把第一个字符变成6,报错,说明元组里的东西是不可变的
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-37-b3ff79bf2df1> in <module>()
----> 1 t[0] = 6
 
TypeError: 'tuple' object does not support item assignment //元组里的项目不支持改变
 
3. 元组的操作。
 
1》 元组和字符串一样属于序列类型,可以通过索引和切片操作
元组值不可变
 
元组的操作:
In [20]: a
Out[20]: 'abc'
 
In [21]: t = (a,'b','c')
 
In [22]: t
Out[22]: ('abc', 'b', 'c')
 
 
2》元组的拆分
- t = (1,2,3)
a,b,c = t
 
通过变量接收元组的值:
In [23]: first,second,third = t
 
In [24]: first
Out[24]: 'abc'
 
In [25]: second
Out[25]: 'b'
 
In [26]: third
Out[26]: 'c'
 
查看元组里边的方法
In [27]: t.
t.count t.index //有两个方法。python是一个面向对象的语言,count,index等都是t的方法。
 
In [28]: help(t.count)
Help on built-in function count:
 
count(...)
T.count(value) -> integer -- return number of occurrences of value
查看value 值在元组中出现的次数
 
In [32]: a
Out[32]: 'abc'
 
In [33]: t = (a,'b','c') //t的元组
 
In [34]: t
Out[34]: ('abc', 'b', 'c')
 
In [30]: t.count('b')
Out[30]: 1 // b元素在元组里出现里1次。abc 是一个整体
 
In [31]: t.count('f')
Out[31]: 0 // f元素没在元组里出现过
 
In [35]: t.count(a)
Out[35]: 1 //value值为一个变量时,返回值也是整数
 
In [36]: help(t.index)
Help on built-in function index:
 
index(...)
T.index(value, [start, [stop]]) -> integer -- return first index of value.
Raises ValueError if the value is not present.
查找 t.index元组里边value元素的第一个索引值。例子如下:
In [38]: t
Out[38]: ('abc', 'b', 'c')
 
In [39]: t.index('b')
Out[39]: 1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2017-10-23 09:02  刘振川的博客  阅读(222)  评论(0编辑  收藏  举报