Python資料型別(元組tuple)

小啊萍i發表於2019-03-22

元組

元組:

是一個有序的,可重複的,不可更改的物件
特點:
	1.list類似
	2.不可變型別資料
	3.元組使用的是()

元組的基本使用格式

(元素1,元素2,...,元素n)

基本描述:

​ 元組是用()包裹起來的多個元素的資料型別,每個元素之間用","隔開

1.元組的建立

  • 建立一個空元組

    >>> tl=()
    >>> type(tl)
    <class 'tuple'>
    
  • 建立只含有一個元素的元組

    需要注意的地方是:如果我們建立只含有一個元素的元組,我們必須在這僅有的一個元素後面加上一個","

    tl=()
    print(type(tl))
    <class 'tuple'>
    t1=(1)
    print(type(t1))
    <class 'int'>
    
    t1=("1",) #只有一個元素的元組,必須加上","
    print(type(t1))
    <class 'tuple'>
    
  • 建立含有多個元素的元組

    >>> t1=(1,2,3,4,5,6)
    

    和列表一樣,元組的元素也可以是不同的資料型別的元素

    >>> tl = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})
    

    2.元組的基本操作

  • 通過索引值查詢對應的元素

    >>> t1=(1,"hunan",['h','u','n','a','n'],('I','love','python'),{"name":"Tom","age":18})
    >>> t1[4]
    {"name":"Tom","age":18}
    >>> t1[-1]
    {"name":"Tom","age":18}
    >>> t1[::-2]
    ({"name":"Tom","age":18},['h','u','n','a','n'],1)
    
  • 查詢元素的索引值

    t1=(1,"hunan",['h','u','n','a','n'],('I','love','python'),{"name":"Tom","age":18})
    >>> t1.index("hunan")
    1
    >>> t1.index("hunan",1,4)
    1
    >>>
    

注意:元組是不可變得資料型別:不能夠增刪改

t1=(1,"hunan",['h','u','n','a','n'],('I','love','python'),{"name":"Tom","age":18})
>>> t1[0]=0
Traceback (most recent call last):
  File "D:\Program Files\Python36\demo.py", line 2, in <module>
    t1[0]=0
TypeError: 'tuple' object does not support item assignment

注意到t1裡有個列表,那麼這個列表中的元素是否可以更改:

>>> t1=(1,"hunan",['h','u','n','a','n'],('I','love','python'),{"name":"Tom","age":18})
>>> t1[2]
['h', 'u', 'n', 'a', 'n']
>>> t1[2][2]='N'
>>> t1
(1, 'hunan', ['h', 'u', 'N', 'a', 'n'], ('I', 'love', 'python'), {'name': 'Tom', 'age': 18})
>>>

拼接

>>> t1=('a','b','c')
>>> t2=('d','e','f')
>>> t1+t2
('a','b','c','d','e','f')
>>>

重複

>>> t1=('a','b','c')
>>> t1*3
('a','b','c','a','b','c','a','b','c')
>>>

判斷元素是否存在

>>> t1=('a','b','c')
>>> 'a' in t1
True
>>> 'a' not in t1
False
>>>

內建函式(最大值最小值)

>>> t1=('a','b','c')
>>> max(t1)  #最大值
'c'
>>> min(t1)  #最小值
'a'

元組的遍歷

1)值遍歷

tp=('Python','Java','C++')
for i in tp:
    print(i,end=" ")
 #Python Java C++

2)索引遍歷

tp=('Python','Java','C++')
for i in range(len(tp)):
	print(tp[i],end=" ")
#Python Java C++

3.索引-值,遍歷

列舉(enumerate),對於一個可迭代的(iterable)/可遍歷的物件(如列表,字串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值.

tp=('Python','Java','C++')
for index, value in enumerate(tp):
	print(index,':',value)
# 0: Python
# 1: Java
# 2: C++

print(index+values)

二維元組

>>> tp=((1,2,3),(4,5,6),(7,8,9))
>>> tp[1][1]
5

三維陣列

>>> tp=((1,2,3),(4,5,6),(7,8,9)),
...    ((1,2,3),(4,"Hunan",6),(7,8,9)),
... ((1,2,3),(4,5,6),(7,8,9))
>>> tp[1][1][1]
'Hunan'
>>>

demo:名片列印 要求:輸入姓名、年齡、工作和愛好,按下列格式輸出:

—info of Linus—

Name  :  Linus

Age   :  18

job   :  IT

Hobbie:  Read

-------end------

作業:上述名片列印擴充成儲存多人資訊的列表。

​ [ [“Linus”, 18,  “IT”, “Read”],

	         ["Tom", 17, "IT", "Sing"],  		....  		]  
list1=[]
for i in range(3):
        
        dic={}
        name=input("姓名:")
        age=input("年齡:")
        Job=input("工作:")
        hobbie=input("愛好:")


        dic["姓名"]=name
        dic["年齡"]=age
        dic["工作"]=Job
        dic["愛好"]=hobbie

list1.append(dic)
print(list1)

相關文章