本文目錄一覽:
- 1、python基礎之序列類型的方法——列表amp;元組
- 2、【技術貼】python數據類型之列表
- 3、python基礎-列表 元組 集合 字典區別和用法
- 4、四、 python中的數據類型——列表
- 5、python的數據類型有哪些?
python基礎之序列類型的方法——列表amp;元組
首先登場的選手是python的列表,列表屬於可變類型,所以它將有完整的增刪改查方法,讓我們一起來看看具體是什麼。
增,顧名思意就是可以對列表進行新增元素的操作,python的列表提供了三種新增元素的操作,分別是:append() ,insert(), extend()
首先是append(),它可以將一個元素追加到列表的末尾。
舉個栗子:
上述代碼中,我們使用的是li.append(‘新增內容’)的方式來為列表添加元素
li.append()使列表li調用自身的方法append(),這樣就可以在列表的末尾添加一個新的元素。
接下來是insert(),append()是排隊,那insert()就是插隊的意思啦,它可以將一個元素插入到列表的自定位置:
li.insert(索引,元素)
這樣就將字元串helloworld插入到了列表的第四個位置里。
上面兩個方法是對單個元素進行增加,如果我們需要增加多個元素怎麼辦?
那就可以使用我們的extend()來進行添加,extend()可以將序列中的每個元素添加到末尾:
上面的代碼先定義了兩個列表l1和l2,然後使用l1.extend(l2),將l2的每個元素添加到了l1的末尾。
增加講完了,接下來進行刪除操作,刪除也有對應的四個方法:del(),pop(),remove(),clear()
del()是單獨的方法,不需要通過列表本身來進行調用,可以直接使用:
上述代碼刪除了li[0],但是請注意,如果不進行索引的話,默認會將這個變數刪除,請謹慎使用:
這就是刪除了整個變數,再列印這個變數時就會提示變數未定義
pop()方法不帶參數的話刪除默認刪除最後一個元素,帶參數的話則刪除指定的下標值:
pop()還有個神奇的地方,它可以讓你需要刪除的參數取出來繼續使用,使用完了再進行刪除:
上述代碼使用pop()刪除了第一個元素,然後使用第一個元素進行了一個簡單的判斷,說明pop()可以為我們返回刪除的元素,讓我們先使用,使用完再刪除
remove()用來刪除一個指定元素,無返回值,無法使用下標刪除:
上述代碼使用remove()刪除了一個元素l
clear()用於清空列表,與del不同的是,它會為我們保留空列表,而不會把變數都刪除:
上述代碼清除了列表後,保留了空列表
改的方法就比較簡單,直接索引出下標重新賦值即可:
這裡就對li[0]進行了重新賦值
有通過index查詢指定元素返回對應下標,也可以使用count來計算該元素出現過的次數:
除了增刪改查,列表中還有其他的方法複製copy()、倒敘排列reverse()、從小到大排列sort()
使用li.copy(),再用一個變數接收複製的列表,就可以實現複製出一個新的列表來
sort()方法可以將數字類型的進行從小到大的排列,一般也用於同類型的排列
元組作為不可變類型,只能查和刪,如果需要其他操作需要轉換成列表
只能刪除整個元組,無法使用下標值,刪除後再使用會提示沒有定義變數
元組只有查和刪的方法,如果需要修改應先轉成列表修改再轉回元組,但是不建議這麼做,因為修改過的元組就已經不是原來的那個元組了,而且設置元組也是為了這組數據不希望受到修改
以上就是關於列表元組的方法了,有興趣的小夥伴可以自己嘗試一下。
如果有哪些錯誤或者不好的地方,還請各位大佬指出來,我會虛心接受並修改錯誤,謝謝!
【技術貼】python數據類型之列表
列表是由一系列按特定順序排列的元素組成的。在Python中,用[]來表示列表,並用逗號來分隔其中的元素。
我們可以創建包含字母,數字或者任何東西的列表。其中列表中的元素之間可以沒有任何的關係。由於列表通常包含多個元素,再給創建的列表命名時,一般使用複數的名稱,如names.
names = [“kitty”,”anne”,”jerry”]
print(names)
輸出的結果為方括弧[] 引號 ” 元素
[‘kitty’, ‘anne’, ‘jerry’]
注意:列表的偏移量是從0開始的,而不是我們習慣的 1 開始
teacher=[‘七七’,’卡西’,’延君’]
teacher[0]=’七七’
teacher[1]=’卡西’
teacher[2]=’延君’
口訣:「左右空,取到頭;左要取,右不取」
teacher=[‘七七’,’卡西’,’延君’]
teacher[:2]=[‘七七’,’卡西’]
格式:列表.append(‘元素名’)
teacher=[‘七七’,’卡西’,’延君’]
teacher.append(‘琦玉’)
# 結果為 teacher=[‘七七’,’卡西’,’延君’,’琦玉’]
list.extend([元素1,元素2]):在list列表末端增加多個元素;
list.insert(元素序號,元素):在list列表任意位置增加一個元素
teacher=[‘七七’,’卡西’,’延君’,’琦玉’]
del teacher[3]
# 結果為 teacher=[‘七七’,’卡西’,’延君’]
str=[0,1,2,3,4,5,6]
del str[2:4] #刪除從第2個元素開始,到第4個為止的元素(但是不包括尾部元素)
str
[0, 1, 4, 5, 6]
str=[0,1,2,3,4,5,6]
del str
str #刪除後,找不到對象
Traceback (most recent call last):File “pyshell#27”, line 1, in modulestrNameError: name ‘str’ is not defined
注意:del是刪除引用(變數)而不是刪除對象(數據),對象由自動垃圾回收機制(GC)刪除。
1,a = list.count(元素):計算它的參數在列表中出現的次數,並將次數返回;
2,a = list.index(元素):返回它的參數在列表中的位置,返回元素序號;#若有多個元素相同,此為只返回首端起第一個。
3,a = list.index(元素, 序號1,序號2):在序號1和序號2範圍內,返回列表中元素位置。 #若有多個元素相同,此為只返回首端起第一個。
4,list.reverse() == list[::-1]:將整個列表內元素反過來排列:[1, 2, 3, 4].reverse() == [4, 3, 2, 1];
5,list.sort():將所有元素,從小到大排列;
6.sorted方法
sorted返回一個有序的副本,並且類型總是列表,如下:
python基礎-列表 元組 集合 字典區別和用法
Python中有六個標準的數據類型:Number(數字),String(字元串),List(列表),Tuple(元組),Set(集合),Dictionary(字典)。其中:Number(數字)、String(字元串)、Tuple(元組)是不可變數據,其餘三種是可變數據。
轉義字元
輸出結果
布爾值
布爾值是一個邏輯值,只有真(True)和假(False)
輸出結果
Python數據結構包括列表(list)、元組(tuple)、集合(set)、字典(dict)等,這裡主要講解列表,列表有兩個特點:
輸出結果
修改表中元素
輸出結果
列表中插入元素
輸出結果
輸出列表中的元素
輸出結果
元素是否在列表元素中及統計個數
輸出結果
查找某個元素在列表中的位置
輸出結果
順序結構
輸出結果
if 條件 1
輸出結果
if 條件 2
輸出結果
循環結構
輸出結果
循環語句求和
輸出結果
可重複,類型可不同。 類型不同也是跟數組最本質的區別。 python里的列表用「[]」表示:
對比a和b的結果
列表的 — 增 — 刪 — 改 — 查
循環輸出列表內容,在結尾添加指定的內容
字元串是 Python 中最常用的數據類型。 我們可以使用引號(‘或”)來創建字元串。
元組與列表相似,不一樣之處在於 元組的元素不能修改。
元組使用小括弧,列表使用方括弧。
元組建立很簡單,只須要在括弧中添加元素,並使用逗號隔開便可。
字典是另外一種可變容器模型,且可存儲任意類型對象。
字典的每一個鍵值(key=value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括弧({})中 ,格式以下所示:
d = {key1 : value1, key2 : value2 }
字典函數
集合(set)是一個 無序的不重複元素序列。
可使用大括弧 { } 或者 set() 函數建立集合,注意:建立一個空集合必須用 set() 而不是 { },由於 { } 是用來建立一個空字典。
它的主要做用以下: 1.去重,把一個列表變成集合,就自動去重了 。2.關係測試,測試兩組數據以前的交集、差集、並集等關係。
關係測試
輸出結果
元素的添加和刪除
四、 python中的數據類型——列表
列表是一種有序的集合,有點類似c裡面的數組。它的特點是,可以隨時向裡面添加或刪除其中的元素,在python中經常用來存放數據。列表的特點是中括弧,內部元素用逗號隔開。
在這個列表中,可以放進去任何元素,不論你的元素是字元串、整型、浮點型、還是布爾值、空值,包括列表什麼的,都可以放進去。
元素與元素之間,用逗號隔開。
列表會為每個元素分配序號,這個序號代表它的位置,稱為索引(index),第一個元素的位置是0,第二個元素是1,以此類推。
使用索引獲取列表中的值時,需要使用中括弧來訪問,在中括弧前面加上列表名,中括弧內部是元素的索引。
0代表第一個元素的位置,1代表第二個,-1代表倒數第一個,-2代表倒數第二個
使用 len() 函數,可以查看列表裡面有多少個元素
在python中,列表的操作是非常的靈活的,我們可以向其中添加或刪除元素。
添加使用 list.append() 函數
list.append() 函數是將元素插入到列表的末尾,當我們想在特定位置插入元素時可以使用 list.insert() 函數
list.insert() 函數接受兩個參數,第一個參數是插入位置,第二個參數是要插入的元素。
需要注意的是,在使用append和insert時,必須在前面註明要操作的列表。就像上面的例子,我們要操作classmates這個列表,所以必須寫成 classmates.append() 或 classmates.insert() ,如果不這麼寫,計算機就不知道你要往哪個列表中加入元素。
沒有特殊情況的話,推薦使用append()函數添加元素,因為使用append的時候,元素默認加在列表尾部,不會造成其他元素索引值的改變。如果使用insert的話,就像上面的insert(1,’Tom’),在位置1插入’Tom’後,Tom後面所有的元素,索引值都加了一個1,列表中元素越多,受影響的程度越大,因此使用append()函數要比insert()函數更快。
刪除列表中元素的方法有三種
del後面需要用索引的方式表明要刪除的元素,也就是上面的例子,names[1]代表names中的第二個元素,使用del即可刪除
list.pop() 函數與del差不多,都是使用索引值進行刪除,只不過寫法不同。
我們可以發現,執行 names.pop(1) 後,python shell列印出了第二個元素的值,也就是我們要刪除的那個值,這是因為 pop() 這個函數,是有返回值的,有時候我們需要使用這個值,這個時候就可以用變數存起來。
這樣我們就可以通過調用a而使用剛才刪掉的元素了。
list.remove() 函數的作用是刪除第一個匹配的元素,上面的例子中,names這個列表裡面,有兩個’Bob’,remove函數只刪除了第一個’Bob’。這就是 list.remove() 函數的特點。
有時候我們想使用列表的前10個元素,或者前n個元素,這時候就應該使用列表的切片。
切片和索引類似,都是使用中括弧,區別是,索引中的中括弧裡面只有一個數,而切片不同。切片是切割列表,形成切割下來的部分形成新的列表。
切片: list[start:end:[step=1]] ,這就是切片的表達式,要求start和end兩者必須有一個,step不是可以不指定,不指定的時候默認為1。
切片該怎麼理解呢,start就是開始的位置,end就是結束的位置。切片有個特點是「取前不取後」,看上面那個例子可以發現,1作為start,3作為end,1代表第二個元素,3代表第四個元素,列表切片的時候,是不取後面的那個數字對應的元素的,也就是不取第四個元素,所以names[1:3]只取了第二個元素和第三個元素,這就是所謂的取前不取後。
再看下一個例子。
當不指定start或者end的時候,start默認為0,end默認為最後一個元素的索引值+1,因為「取前不取後」,要想取到最後一個元素,必須加個1才行。
上例中,用 len(numbers) 表示了最後一個元素的索引值,因為索引值從0開始,最後一個元素的索引值一定是列表內元素個數-1,根據「取前不取後」,在end位置上的數字應該+1,所以最後就等於 len(numbers) 了。
當不設定start和end的時候,就默認取所有的元素了。
當加入step,這個選項後,step代表步長,默認為1,設定成2的時候,就是隔一個取一個,設定成3時就是隔兩個取一個。
上例中,第一個切片,start和end均未設定,因此從第一個元素開始,隔一個取一個,得到了所有奇數位置的元素。
第二個切片,start設定為了1,因此取了所有偶數位置的元素。
3在列表中,0不在列表中,所以 3 in a 是True,而 0 in a 是False
更多關於列表的信息可以通過使用 help(list) 查看幫助文檔。
python的數據類型有哪些?
python數據類型主要分為以下六大類:Numbers(數字)、String(字元串)、List(列表、Tuple(元組)、Dictionary(字典)、Set(集合)。
Python的六個標準數據類型中:
不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組)。
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
字元串類型:
python的字元串或串(String)是由數字、字母、下劃線組成的一串字元。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/293198.html