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