复合类型_没有学不会的python--复合类型(1)--概念和元组
其實復合類型并不復雜,對于沒有學習過python的朋友來說,完全不用擔心。
復合類型是什么?
前面我們有講述過簡單數據類型,由于我在多個平臺都有上傳文章,所以這里就不貼出鏈接來了,煩請有需要的朋友自己去個人主頁看一下,本章是基于簡單數據類型的基礎上來講的。
復合類型就是一個包含有很多基本元素的數據類型。
做一個比較形象的比喻,比如我們經常喝的奶茶,里面會有很多的果粒、果凍、珍珠、奶精、水等其它原料,這些原料混合起來就成了一杯可口的奶茶。復合類型就像是一杯奶茶,它可能混合了整型、字符型、浮點型、布爾型甚至復合類型的一種數據類型。意思是,復合類型其實不是什么數據類型,它更像是一種數據的組織方式,一種數據存放的容器。
復合類型復雜嗎?
其實復合類型在c/c++中是比較復雜的,他需要自己組織結構方式。但是在python中,這些問題就沒有了,python的復合類型基本都封裝好了,而我們日常所用的,基本就是基于這些封裝好的函數對這些復合類型進行操作而已。
在python中,常用的復合類型其實就是元組、列表、字典、集合。其實字符串也算是復合類型的一種,但是字符串要將的內容比較多,后面會有專門的一章來講述,所以本章且不討論字符串類型。
先通過表格來看看復合類型的大概情況。
名稱術語用途元組tuple用來存儲一組固定的數據元素列表list用來存儲一組可變的數據元素,可以對列表進行添加刪除數據元素字典dict類似于列表,不同的是,這里面存儲的都是鍵值對集合set類似于列表,不同的是,這里面不含有重復的元素
通過表格我們大致知道了每個復合類型都是做什么的,有了基礎的印象后,說一些通用的運算,即上面的四個復合類型都有的操作。
復合類型的通用操作
復合類型基本都是多個元素組合成的一種數據容器,所以可想而知,圍繞著復合類型的操作,基本都是針對數據元素的增刪改查進行的。
復合類型一般都有一下通用操作:
- 可用in判斷某元素是否包含在集合內。
- 可通過切片獲取集合內的某些元素。不知道切片是什么的,請看簡單數據類型的章節。
- 都是可迭代對象,可以循環迭代集合內的每個元素。
- 可用len()函數計算集合的元素數量,即集合長度。
上邊基本上把python的復合類型的基本概念通俗的說出來了,但是遠不只這么簡單,這里基本上只是讓我們知道了有這么個東西,但是涉及到具體的操作,又是另外一說了。
在開始進入正題之前,先提醒下朋友們,對于學習集合類型的時候,不要對集合類型有哪些函數死記硬背,這不是正確的打開姿勢。正確的姿勢是,我們只需要知道某個復合類型可以進行什么樣的操作就行了,至于函數怎么寫,需要傳遞什么參數,可以在實際需要的時候通過度娘或者編輯器的智能提示得出。但是得出后我們不要復制,而是自己敲,這樣一來二去以后你就自然的熟記了所有函數,并且占用你腦內存的都是一些常用的函數。
好咯,現在開始上菜:
飯前小吃--tuple即元組
為什么說元組是飯前小吃呢,因為元組在python出現的地方特別多,尤其是傳遞參數的時候,但是往往我們都不會注意到,但是元組起到的作用并不是特別大。所以就像我們的飯前小吃,填填肚子,不頂餓。
元組是什么,元組就是一組被()包裹的數據類型,比如(元素1,元素2,元素3...)
元組是一組不可變的數據集合,什么是不可變呢?留到列表的時候來講,現在我們就需要知道元素是一組固定元素的集合,即我們創建它的時候就應該聲明好它里面有什么數據類型。
下面開始看代碼和注釋,請仔細看。
元組的初始化
# 元組的初始化# 直接用括號包裹元素,就是元組tuple_a = (1, 2, 3, 2)# 可以使用tuple函數生成元組,比如將將一個列表([1,2,3]就是列表)轉成元組。tuple_b = tuple([1, 2, 3])# 即使元組只有一個元素,也需要用括號包裹,并且需要逗號,不可缺少。因為()不僅是元組符號也是運算符號,所以(1)并不是元組tuple_c = (1,)元組基本上就上面兩種初始化方法,需要注意的是當元組只含有一個元素的時候,必須包含','。
元組的運算
首先講一下,元組是可以通過下標,比如下圖:
如果我們想獲取'b'元素,我們可以通過正向排序的[1]下標獲取,也可以通過反向排序的[-3]下標獲取。
那么接下來我們看看元組都可以做什么。
# 元組常用操作# 獲取tuple_a中含有多少個2元素num = tuple_a.count(2)print("含有2元素的數量是:{0}".format(num))# 獲取某個元素在元組中的位置,返回的是該元素在元組中第一次出現的位置index = tuple_a.index(2)print("第一次出現2的位置是:{0}".format(index))# 獲取元組的長度length = len(tuple_a)print("tuple_a含有{0}個元素".format(length))# 通過下標獲取1元素,分別是正序和反序,結果都是1即item_1等于item_2item_1 = tuple_a[0]item_2 = tuple_a[-4]print("item_1是{0},item_2是{1}".format(item_1, item_2))# 判斷元組是否包含某個元素,用inif 2 in tuple_a: print(True)else: print(False)# 迭代元組for item in tuple_a: print(item)運行結果:
含有2元素的數量是:2第一次出現2的位置是:1tuple_a含有4個元素item_1是1,item_2是1True1232我們可以看到,常用的元組操作就上面這些,因為元組是不可變的,所以針對元組可進行的操作就比較少。
結合現代人的閱讀方式,所以我將控制文章篇幅,其他復合類型將留到下一章來講。
看完了這一章,你應該知道元組都可以進行什么操作了。
同時,如果對于我的文章感興趣,對這系列教程感興趣,可以關注我的公眾號。
如果你有什么意見,想要反饋給我,可以加我。
總結
以上是生活随笔為你收集整理的复合类型_没有学不会的python--复合类型(1)--概念和元组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: aac蓝牙编解码协议_最新的真无线蓝牙耳
- 下一篇: 红外传感器_基于红外避障传感器控制无人机