python tuple list_草根学Python(三)List 和 Tuple
前言
目錄
一、List(列表)
Python 內置的一種數據類型是列表:list。 list 是一種有序的集合,可以隨時添加和刪除其中的元素。
1、創建 List(列表)
創建一個列表,只要把逗號分隔的不同的數據項使用方括號括起來即可,且列表的數據項不需要具有相同的類型
list1=['兩點水','twowter','liangdianshui',123]
2、訪問 List(列表)中的值
使用下標索引來訪問列表中的值,同樣你也可以使用方括號的形式截取字符
list1=['兩點水','twowter','liangdianshui',123]
# 通過索引來訪問列表
print(list1[2])
# 通過方括號的形式來截取列表中的數據
print(list1[0:2])
輸出的結果:
3、更新 List(列表)
可以通過索引對列表的數據項進行修改或更新,也可以使用 append() 方法來添加列表項。
list1=['兩點水','twowter','liangdianshui',123]
print(list1)
# 通過索引對列表的數據項進行修改或更新
list1[2]=456
print(list1)
# 使用 append() 方法來添加列表項
list1.append('hello');
print(list1)
輸出的結果:
4、刪除 List(列表)
使用 del 語句來刪除列表的的元素
list1=['兩點水','twowter','liangdianshui',123]
print(list1)
# 使用 del 語句來刪除列表的的元素
del list1[3]
print(list1)
輸出的結果:
5、List(列表)運算符
列表對 + 和 的操作符與字符串相似。+ 號用于組合列表, 號用于重復列表。
Python 表達式
結果
描述
len([1, 2, 3])
3
計算元素個數
[1, 2, 3] + [4, 5, 6]
[1, 2, 3, 4, 5, 6]
組合
['Hi!'] * 4
['Hi!', 'Hi!', 'Hi!', 'Hi!']
復制
3 in [1, 2, 3]
True
元素是否存在于列表中
for x in [1, 2, 3]: print x,
1 2 3
迭代
6、List (列表)函數&方法
函數&方法
描述
cmp(list1, list2)
比較兩個列表的元素
len(list)
列表元素個數
max(list)
返回列表元素最大值
min(list)
返回列表元素最小值
list(seq)
將元組轉換為列表
list.append(obj)
在列表末尾添加新的對象
list.count(obj)
統計某個元素在列表中出現的次數
list.extend(seq)
在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)
list.index(obj)
從列表中找出某個值第一個匹配項的索引位置
list.insert(index, obj)
將對象插入列表
list.pop(obj=list[-1])
移除列表中的一個元素(默認最后一個元素),并且返回該元素的值
list.reverse()
反向列表中元素
list.sort([func])
對原列表進行排序
7、實例
最后通過一個例子來熟悉了解 List 的操作
例子:
#-*-coding:utf-8-*-
#-----------------------list的使用----------------------------------
# 1.一個產品,需要列出產品的用戶,這時候就可以使用一個 list 來表示
user=['liangdianshui','twowater','兩點水']
print('1.產品用戶')
print(user)
# 2.如果需要統計有多少個用戶,這時候 len() 函數可以獲的 list 里元素的個數
len(user)
print('\n2.統計有多少個用戶')
print(len(user))
# 3.此時,如果需要知道具體的用戶呢?可以用過索引來訪問 list 中每一個位置的元素,索引是0從開始的
print('\n3.查看具體的用戶')
print(user[0]+','+user[1]+','+user[2])
# 4.突然來了一個新的用戶,這時我們需要在原有的 list 末尾加一個用戶
user.append('茵茵')
print('\n4.在末尾添加新用戶')
print(user)
# 5.又新增了一個用戶,可是這個用戶是 VIP 級別的學生,需要放在第一位,可以通過 insert 方法插入到指定的位置
# 注意:插入數據的時候注意是否越界,索引不能超過 len(user)-1
user.insert(0,'VIP用戶')
print('\n5.指定位置添加用戶')
print(user)
# 6.突然發現之前弄錯了,“茵茵”就是'VIP用戶',因此,需要刪除“茵茵”;pop() 刪除 list 末尾的元素
user.pop()
print('\n6.刪除末尾用戶')
print(user)
# 7.過了一段時間,用戶“liangdianshui”不玩這個產品,刪除了賬號
# 因此需要要刪除指定位置的元素,用pop(i)方法,其中i是索引位置
user.pop(1)
print('\n7.刪除指定位置的list元素')
print(user)
# 8.用戶“兩點水”想修改自己的昵稱了
user[2]='三點水'
print('\n8.把某個元素替換成別的元素')
print(user)
# 9.單單保存用戶昵稱好像不夠好,最好把賬號也放進去
# 這里賬號是整數類型,跟昵稱的字符串類型不同,不過 list 里面的元素的數據類型是可以不同的
# 而且 list 元素也可以是另一個 list
newUser=[['VIP用戶',11111],['twowater',22222],['三點水',33333]]
print('\n9.不同元素類型的list數據')
print(newUser)
二、tuple(元組)
另一種有序列表叫元組:tuple 。tuple 和 list 非常類似,但是 tuple 一旦初始化就不能修改。那么不能修改是指什么意思呢?
tuple 不可變是指當你創建了 tuple 時候,它就不能改變了,也就是說它也沒有 append(),insert() 這樣的方法,但它也有獲取某個索引值的方法,但是不能賦值。那么為什么要有 tuple 呢?那是因為 tuple 是不可變的,所以代碼更安全。所以建議能用 tuple 代替 list 就盡量用 tuple 。
1、創建 tuple(元祖)
元組創建很簡單,只需要在括號中添加元素,并使用逗號隔開即可。
tuple1=('兩點水','twowter','liangdianshui',123,456)
tuple2='兩點水','twowter','liangdianshui',123,456
創建空元組
tuple3=()
元組中只包含一個元素時,需要在元素后面添加逗號
tuple4=(123,)
如果不加逗號,創建出來的就不是 tuple (元組),而是指 123 這個數了,這是因為括號 ()既可以表示 tuple,又可以表示數學公式中的小括號,這就產生了歧義,因此,Python 規定,這種情況下,按小括號進行計算,計算結果自然是 123 。具體看下圖 tuple4 和 tuple5 的輸出值
2、tuple(元組)的索引
元組下標索引從0開始,可以進行截取,組合等。
3、訪問 tuple (元組)
tuple(元組)可以使用下標索引來訪問元組中的值
#-*-coding:utf-8-*-
tuple1=('兩點水','twowter','liangdianshui',123,456)
tuple2='兩點水','twowter','liangdianshui',123,456
print(tuple1[1])
print(tuple2[0])
輸出的結果:
4、修改 tuple (元組)
上面不是花了一大段來說 tuple 是不可變的嗎?這里怎么又來修改 tuple (元組) 了。那是因為元組中的元素值是不允許修改的,但我們可以對元組進行連接組合,還有通過修改其他列表的值從而影響 tuple 的值。
具體看下面的這個例子:
#-*-coding:utf-8-*-
list1=[123,456]
tuple1=('兩點水','twowater','liangdianshui',list1)
print(tuple1)
list1[0]=789
list1[1]=100
print(tuple1)
輸出的結果:
('兩點水', 'twowater', 'liangdianshui', [123, 456])
('兩點水', 'twowater', 'liangdianshui', [789, 100])
可以看到,兩次輸出的 tuple 值是變了的。我們看看 tuple1 的存儲是怎樣的。
可以看到,tuple1 有四個元素,最后一個元素是一個 List ,List 列表里有兩個元素,當我們把 List 列表中的兩個元素 124 和 456 修改為 789 和 100 的時候,從輸出來的 tuple1 的值來看,好像確實是改變了,但其實變的不是 tuple 的元素,而是 list 的元素。tuple 一開始指向的 list 并沒有改成別的 list,所以,tuple 所謂的“不變”是說,tuple 的每個元素,指向永遠不變。注意是 tupe1 中的第四個元素還是指向原來的 list ,是沒有變的。
5、刪除 tuple (元組)
tuple 元組中的元素值是不允許刪除的,但我們可以使用 del 語句來刪除整個元組
#-*-coding:utf-8-*-
tuple1=('兩點水','twowter','liangdianshui',[123,456])
print(tuple1)
del tuple1
6、tuple (元組)運算符
與字符串一樣,元組之間可以使用 + 號和 * 號進行運算。這就意味著他們可以組合和復制,運算后會生成一個新的元組。
Python 表達式
結果
描述
len((1, 2, 3))
3
計算元素個數
(1, 2, 3) + (4, 5, 6)
(1, 2, 3, 4, 5, 6)
連接
('Hi!',) * 4
('Hi!', 'Hi!', 'Hi!', 'Hi!')
復制
3 in (1, 2, 3)
True
元素是否存在
for x in (1, 2, 3): print x,
1 2 3
迭代
7、元組內置函數
方法
描述
cmp(tuple1, tuple2)
比較兩個元組元素
len(tuple)
計算元組元素個數
max(tuple)
返回元組中元素最大值
min(tuple)
返回元組中元素最小值
tuple(seq)
將列表轉換為元組
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的python tuple list_草根学Python(三)List 和 Tuple的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java多线程中方法_java中多线程
- 下一篇: java生成excel_java生成ex