python--元組tuple
************** 元組tuple ***************
元組的定義
- 定義空元組
tuple = ()
- 定義單個值的元組
tuple = (fentiao,)
- 一般的元組(元素有列表,元組,字符)
tuple = (fentiao, 8, male)>>> t = (1,2,(1,2),[1,2])
>>> type(t)
<type ‘tuple‘>
>>> t[2]
(1, 2)>>> a=t[2]
>>> type(a)
<type ‘tuple‘>為什麽需要元組?
>>> userinfo1 = "fentiao 4 male"
>>> userinfo2 = "westos 10 unknown"
>>> userinfo1[:7]
‘fentiao‘
‘westos‘
字符串中操作提取姓名/年齡/性別的方式不方便,誕生元組與列表這兩個數據類型
>>> t1 = ("fentiao",4,"male")>>> t2 = ("westos", 10, "unknown")
>>> type(t1)
<type ‘tuple‘>
>>> type(t2)
<type ‘tuple‘>元組特性
不能對元組的值任意更改;元組特性>>> t1
(‘fentiao‘, 4, ‘male‘)
>>> t1[1] = 5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: ‘tuple‘ object does not support item assignment
對元組分別賦值,引申對多個變量也可通過元組方式分別賦值執行操作並思考
>>> t1
(‘fentiao‘, 4, ‘male‘)
>>> name,age,gender=t1
>>> print name,age,gender
fentiao 4 male
>>> a,b,c=(1,2,3)
>>> print a,b,c
1 2 3
註意:C語言中,定義一類型,必須先開辟一存儲空間,當後期重新賦值時也一定是整型的;
python中,先在內存上存儲數據後,再通過標簽去引用。不同的字符串占用不同的存儲空間。
>>> str1
‘12345‘
>>> id(str1)
140205776037520
>>> str1 = "abcde"
>>> id(str1)
140205776037424
>>> str2 = "12345"
>>> id(str2)
140205776037520元祖修改
元組的操作
元組也屬於序列,可執行的操作如下:
索引、切片、重復、連接和查看長度1).元組的索引和切片
>>> t1[0]
‘fentiao‘
>>> t2[0]
‘westos‘
>>> t2[0:2]
(‘westos‘, 10)刪除元組
t = (1,2,3)
>>>del(t)
元組的比較
>>> t = (1,2,3)
>>> len(t)
3
>>> cmp(t,(1,2)) --元組t與(1,2)比較如果t包含(1,2)結果為1,否則為-1
1
>>> cmp(t,(1,2,3,4,5))
-1元組的方法
t.count(value)-->int
返回value在元組中出現的次數;
t.index(value)
返回value在元組中的偏移量(即索引值)
python--元組tuple