您好,登錄后才能下訂單哦!
元組是序列一種,與列表類似,但是不能修改,下面我們?cè)斀饨榻B下元組:
元組與列表類似,元組語法:(ele1, ele2, ele3);具體如下:
#定義元組1,與列表類似
a = (1,2,3)
print(a)
#定義元組2
b = 'a', 'b', 'c'
print(b)
#元素訪問:
print(a[0], b[1])
tuple可以將可迭代對(duì)象轉(zhuǎn)成元組,相關(guān)操作如下:
#range對(duì)象轉(zhuǎn)元組
print(tuple(range(10)))
#字符串轉(zhuǎn)列表
print(tuple('helloworld'))
#列表轉(zhuǎn)元組
print(tuple(['C++', 'Java', 'Python']))
嘗試修改元組:
#小ming成績(jī)單
xiaoming = (59, 80)
#嘗試修改下:
xiaoming[0] = 60
輸出結(jié)果:
TypeError Traceback (most recent call last)
<ipython-input-1-1ba0d7da8615> in <module>
2 xiaoming = (59, 80)
3 #嘗試修改下:
----> 4 xiaoming[0] = 60
TypeError: 'tuple' object does not support item assignment
列表中的元素是不能修改的。
tv = ('小米', '創(chuàng)維', '海信','康佳','長(zhǎng)虹')
print('tv=',tv)
#切片操作
print('tv[:2]=', tv[:2])
#掐頭去尾
print('tv[0:-1]=', tv[0:-1])
#反序
print('tv[::-1]=', tv[::-1])
#隔一個(gè)取一個(gè)
print('tv[::2]=', tv[::2])
輸出結(jié)果如下:
tv= ('小米', '創(chuàng)維', '海信', '康佳', '長(zhǎng)虹')
tv[:2]= ('小米', '創(chuàng)維')
tv[0:-1]= ('小米', '創(chuàng)維', '海信', '康佳')
tv[::-1]= ('長(zhǎng)虹', '康佳', '海信', '創(chuàng)維', '小米')
tv[::2]= ('小米', '海信', '長(zhǎng)虹')
tvs = ('小米', '創(chuàng)維', '海信','康佳','長(zhǎng)虹')
for tv in tvs:
print(tv)
輸出結(jié)果:
小米
創(chuàng)維
海信
康佳
長(zhǎng)虹
#定義元組
t = (90, 30, 40, 80, 100)
#長(zhǎng)度:
print('len t:', len(t))
#最大值:
print('max value:', max(t))
#最小值:
print('min value:', min(t))
#平均值:
print('ave value:', sum(t)/len(t))
元組是不可變數(shù)據(jù)結(jié)構(gòu),只有兩個(gè)方法,我們來看下:
方法 | 說明 |
---|---|
T.count(value) | 統(tǒng)計(jì)元素在元組中數(shù)量 |
T.index(value, [start, [stop]]) | 返回元素第一次出現(xiàn)索引,不存在報(bào)異常 |
相關(guān)使用如下:
t = (90, 30, 40, 80, 100)
#90出現(xiàn)次數(shù)
print('{}.count({})={}'.format('t', 90, t.count(90)))
#90在元組中索引
print('{}.index({})={}'.format('t', 90, t.index(90)))
#0在元組中索引
print('{}.index({})={}'.format('t', 0, t.index(0)))
運(yùn)行結(jié)果:
t.count(90)=1
t.index(90)=0
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-19-cc15ec2f620f> in <module>
5 print('{}.index({})={}'.format('t', 90, t.index(90)))
6 #0在元組中索引
----> 7 print('{}.index({})={}'.format('t', 0, t.index(0)))
ValueError: tuple.index(x): x not in tuple
注意最后一場(chǎng)。
定義一個(gè)函數(shù),參數(shù)為兩個(gè)數(shù)字,返回兩個(gè)數(shù)字和,積;
分析:邏輯上實(shí)現(xiàn)不困難,如何返回兩個(gè)值?
我們定義一個(gè)函數(shù),返回一個(gè)固定值:
#定義函數(shù)
def func():
return 0
print('func()=', func())
輸出結(jié)果:func()= 0
如何返回兩個(gè)值,在后面價(jià)格書試試,代碼實(shí)現(xiàn)如下:
#定義函數(shù)
def func():
return 0,1
print('func()=', func())
輸出結(jié)果:func()= (0, 1)
可以看到,返回值為一個(gè)元組,然后我們來實(shí)現(xiàn)返回和與積的函數(shù),代碼實(shí)現(xiàn):
#定義函數(shù)
def func(a, b):
return a+b, a*b
print('func({}, {})={}'.format(2,5, func(2, 5)))
輸出結(jié)果:func(2, 5)=(7, 10)
如何接受這兩個(gè)值:還記得大明湖畔的多元賦值么?
m = 2,3
#m什么類型?
print(m)
#x,y是什么值?
x,y = m
print(x, y)
輸出結(jié)果:
(2, 3)
2 3
希望大家記得這些方法使用。
sum函數(shù),可以傳入多個(gè)數(shù)字,這個(gè)實(shí)現(xiàn)其實(shí)也和元組有關(guān),
我么來演示個(gè)例子:
#*args:可變長(zhǎng)非關(guān)鍵字
def mysum(a,b, *args):
#查看args類型
print(args, type(args))
return a+b+sum(args)
print(mysum(1,2))
print(mysum(1,2,3))
print(mysum(1,2,3, 4))
我們?cè)谶@時(shí)只是展示他的用法,后面講函數(shù)時(shí)候我們?cè)谠斀饨忉專?/p>
到這里元組基本使用就介紹完了,希望對(duì)大家理解有所幫。
另外歡迎大家關(guān)注老貓的專欄:
https://blog.51cto.com/cloumn/detail/34。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。