python3中数字类型有哪些_python全栈_009_Python3基本数据类型--列表(示例代码)
1:列表的介紹
列表是python的基礎數據類型之一 ,其他編程語言也有類似的數據類型. 比如C++中的數組, java中的數組等等. 它是以[ ]括起來, 每個元素用‘ , ‘隔開,而且可以存放各種數據類型,列表是可變數據類型(即可以改變列表內存中的值)
lst = [1, 2, 3, 4]print(lst, id(lst))
lst= [1, 2, 3, 4] #重新創建一個列表
print(lst, id(lst))
lst[0]= ‘Hello‘ #修改第一個元素的值,修改之后內存地址是不會變的
print(lst, id(lst))
lst.append(‘2343423333dfsdfsdfsdfsd‘) #增加一個元素,列表內存地址也是不會變的
print(lst, id(lst))#列表中的元素可以是各種數據類型,可以是列表,字符串,數字,字典等等
lst = [False, ‘Haha‘, 1, "吼吼", [1, [‘23‘,89], 8,0,"百度"], ("我","叫", "元", "組"), "abc", {"我叫":"dict字典"},{"我叫集合","集合"}]print(lst)
列表相比于字符串. 不僅可以存放不同的數據類型。而且可以存放大量的數據。32位python可以存放: 536870912個元素, 64位可以存放: 1152921504606846975個元素.而且列表是有序的(按照你保存的順序),有索引, 可以切片方便取值。
2:列表的索引與切片
2.1:列表和字符串一樣也擁有索引:
#列表也有索引,索引從0開始
lst = [‘邁克爾·杰克遜‘, ‘蘇有朋‘, ‘梁詠琪‘, ‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘中華人民共和國‘]print(lst[3]) #林志穎
print(lst[-1]) #中華人民共和國
print(lst[-1][2:4]) #人民
lst[2] = ‘helloWorld‘
print(lst) #[‘邁克爾·杰克遜‘, ‘蘇有朋‘, ‘helloWorld‘, ‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘中華人民共和國‘]
s= ‘蘇有朋‘
print(s)
s[0]= ‘林‘ #報錯: TypeError: ‘str‘ object does not support item assignment
print(s)
2.2:列表的切片:
#切片,切片出來的是列表(什么類型切片出來的還是原來的類型)
lst = [‘邁克爾·杰克遜‘, ‘蘇有朋‘, ‘梁詠琪‘, ‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘中華人民共和國‘]print(lst[1:3]) #[‘蘇有朋‘, ‘梁詠琪‘]
print(lst[1:5:2]) #取 第1, 3 位的;輸出 [‘蘇有朋‘, ‘林志穎‘]
print(lst[-1:-4:-2]) #取 第-1, -3 位的;輸出 [‘中華人民共和國‘, ‘張學友‘]
print(lst[2::-1]) #[‘梁詠琪‘, ‘蘇有朋‘, ‘邁克爾·杰克遜‘]
#索引 與 切片 參考字符串的
3:列表的增刪改查:
3.1:列表的增加操作:
增: 注意, list和str是不一樣的,lst可以發生改變,所以直接就在原來的對象上進行了操作:
#新增#1:append,每次都在末尾添加元素
lst =[]
lst.append(‘林志穎‘)
lst.append(‘張學友‘)
lst.append(‘劉德華‘)
lst.append(‘張柏芝‘)print(lst) #[‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘]
#2:insert
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘]
lst.insert(2, ‘周杰倫‘) #在2號位置插入,即在‘劉德華‘位置插入,‘劉德華‘及后面的數據向后移動;插入的時候,可能會導致元素移動
print(lst) #[‘林志穎‘, ‘張學友‘, ‘周杰倫‘, ‘劉德華‘, ‘張柏芝‘]
#3:迭代添加:extend
lst = [‘劉德華‘, ‘張柏芝‘]
lst.extend(‘林志穎‘) #字符串為可迭代對象,會把字符串中的每個字符添加到列表中,輸出: [‘劉德華‘, ‘張柏芝‘, ‘林‘, ‘志‘, ‘穎‘]
print(lst)
lst.extend([‘張學友‘]) #迭代列表, [‘劉德華‘, ‘張柏芝‘, ‘林‘, ‘志‘, ‘穎‘, ‘張學友‘]
print(lst)
3.2:列表的刪除操作:
#刪除: pop,remove,clear,del#1:pop : 按照索引來刪除,默認刪除最后一個
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘]
s= lst.pop() #默認彈出最后一個,可以指定元素(索引)刪除;返回刪除的元素
print(s) #張柏芝
print(lst) #[‘林志穎‘, ‘張學友‘, ‘劉德華‘]
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘]
s2= lst.pop(1) #輸出1號為元素(‘張學友‘), 輸出:[‘林志穎‘, ‘劉德華‘, ‘張柏芝‘]
print(lst)#2: remove,按照元素值來刪除,刪除時元素值要存在于列表中,不然會報錯
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘]
lst.remove(‘林志穎‘) #指定元素(元素值) 輸出 : [‘張學友‘, ‘劉德華‘, ‘張柏芝‘]
print(lst)lst.remove(‘費玉清‘) # 報錯 ValueError: list.remove(x): x not in list
print(lst)#3:clear,全部清空元素
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘]print(lst,id(lst))
lst.clear()#元素全部清空,[]
print(lst,id(lst))#4:del 輸出,指定索引來刪除,也可以切片刪除(即指定刪除范圍)
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘]del lst[1] #指定元素(索引);[‘林志穎‘, ‘劉德華‘, ‘張柏芝‘]
print(lst)#可以切片刪除
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘]del lst[0:2] #指定刪除范圍,輸出:[‘劉德華‘, ‘張柏芝‘]
print(lst)
3.3:列表的修改操作:
#修改里面的元素
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]print(lst)#通過單個索引來修改
lst[2] = ‘梁詠琪‘
print(lst) #[‘林志穎‘, ‘張學友‘, ‘梁詠琪‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]
lst= [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]
lst[-3] = ‘蜘蛛俠3‘
print(lst) #[‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘蜘蛛俠3‘, ‘黃家駒‘, ‘周杰倫‘]
#通過切片來修改
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]
lst[1:3] = ‘男兒本色‘
print(lst) #會迭代字符串 [‘林志穎‘, ‘男‘, ‘兒‘, ‘本‘, ‘色‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]
lst= [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]
lst[1:3] = [‘男兒本色‘]print(lst) #[‘林志穎‘, ‘男兒本色‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]
#lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]#lst[1:5:2] = [‘男兒本色‘] #報錯 ValueError: attempt to assign sequence of size 1 to extended slice of size 2#print(lst)
lst= [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]
lst[1:5:2] = [‘男兒本色‘,‘男兒本色2‘] #注意如果元素的步長不是1,那么元素的個數要匹配
print(lst) #[‘林志穎‘, ‘男兒本色‘, ‘劉德華‘, ‘男兒本色2‘, ‘黃家駒‘, ‘周杰倫‘]
3.4:列表的查詢操作:
#列表是一個可迭代對象#列表的查詢(或者說遍歷)
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘]for item inlst:print(item)for index,item inenumerate(lst):print(index,item)
4:列表的相關操作:
4.1:列表中元素出現的次數:
#lst.count(元素) ;元素個數,第一層元素的個數,不比較子元素中的值
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘, ‘張學友‘]print(lst)print(lst.count(‘張學友‘)) #輸出 2
lst = [‘張學友‘, ‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘, ‘張學友‘]print(lst.count(‘張學友‘)) #輸出 3
lst= [‘張學友‘, [‘張學友‘], ‘林志穎‘, ‘張學友‘, ‘劉德華‘, ‘張柏芝‘, ‘黃家駒‘, ‘周杰倫‘, ‘張學友‘]print(lst.count(‘張學友‘)) #1號位為 [‘張學友‘],不是字符串 ‘張學友‘;輸出 3
print(lst.count([‘張學友‘])) #輸出 1
4.2:列表中元素的排序:
#列表的排序
lst = [3, 4, 9, 2,89,12]print(lst)
lst.sort()print(lst)#降序
lst = [3, 4, 9, 2,89,12]
lst.sort(reverse=True) #降序
print(lst)
4.3:列表中元素的反轉:
#列表中元素的反轉
lst = [3, 4, 9, 2,89,12]print(lst)
lst.reverse()print(lst)
4.4:列表中元素的長度
#其列表的長度
lst = [3, 4, 9, 2,89,12]print(len(lst))
4.5:列表中元素的下標
lst = [3, 4, 9, 2,89,12]print(lst.index(89)) #輸出 4#print(lst.index(5)) # ValueError: 5 is not in list
5:列表的嵌套:
采用降維操作:一層一層的看就好。
#采用降維操作.一層一層的看就好.
lst = [‘林志穎‘, ‘張學友‘, ‘劉德華‘, [‘男兒本色‘, [‘吳孟達‘, ‘hello‘,‘周杰倫‘],‘功夫之王‘, ‘蜘蛛俠3‘]]print(lst)#找出‘吳孟達‘,并打印出來
print(lst[3][1][0])#hello 的首字母大寫
lst[3][1][1] = lst[3][1][1].capitalize()print(lst)
6:range:
range可以幫我們獲取到一組數據,通過for循環能夠獲取到這些數據。
for i in range(10): #0 到 9
print(i)for i in range(1,10,2):print(i) #1 3 5 7 9
for i in range(10,1,-2):print(i) #10 8 6 4 2
7:列表的其他操作:
7.1:Python列表腳本操作符
列表對 + 和 * 的操作符與字符串相似。+ 號用于組合列表,* 號用于重復列表。
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.2:Python列表函數&方法
序號函數
1
cmp(list1, list2)
比較兩個列表的元素
2
len(list)
列表元素個數
3
max(list)
返回列表元素最大值
4
min(list)
返回列表元素最小值
5
list(seq)
將元組轉換為列表
Python包含以下方法:
序號方法
1
list.append(obj)
在列表末尾添加新的對象
2
list.count(obj)
統計某個元素在列表中出現的次數
3
list.extend(seq)
在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)
4
list.index(obj)
從列表中找出某個值第一個匹配項的索引位置
5
list.insert(index, obj)
將對象插入列表
6
list.pop(obj=list[-1])
移除列表中的一個元素(默認最后一個元素),并且返回該元素的值
7
list.remove(obj)
移除列表中某個值的第一個匹配項
8
list.reverse()
反向列表中元素
9
list.sort([func])? ?list.sort(reverse=True)
對原列表進行排序
8:總結:
1:列表的定義:
能裝對象的對象,由[]表示,由‘,‘隔開;是可變數據類型
索引和切片,從0開始
[start,end,step]
2:列表的增,刪,改,查
1:新增:append(),insert(),extend()(迭代添加)
2:刪除:pop(),remove(),clear(),del
3:改:索引修改,切片修改
4:查詢:索引查詢,for el in lst:
5:操作:count(),index(),find(),sort(reverse = true),reverse()
3:range()
range(10) # 0到 9
range(1,12) # 1 到 11
range(1,12,3) # 1 4 7 10
for el in lst: # 沒有索引
for i in range(len(lst)):
lst[i]
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python3中数字类型有哪些_python全栈_009_Python3基本数据类型--列表(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tomcat的class加载的优先顺序
- 下一篇: 块级元素的margin-left和mar