Python列表的知識(shí)點(diǎn)有哪些

本篇內(nèi)容主要講解“Python列表的知識(shí)點(diǎn)有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Python列表的知識(shí)點(diǎn)有哪些”吧!

我們一直強(qiáng)調(diào)成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)對(duì)于企業(yè)的重要性,如果您也覺(jué)得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過(guò)程中的有力推手。專(zhuān)業(yè)網(wǎng)站制作公司不一定是大公司,創(chuàng)新互聯(lián)作為專(zhuān)業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。

一、列表的創(chuàng)建方式

# -*- coding: utf-8 -*-
# __author : Demon
# date : 1/16/18 8:19 PM
# 列表的創(chuàng)建
empty_list_01 = [] # 創(chuàng)建一個(gè)空的列表
empty_list_02 = list() # 創(chuàng)建一個(gè)空的列表
num_list = [1, 2, 3, 4, 5] # 創(chuàng)建一個(gè)數(shù)字列表
str_list = ['a', 'b', 'c'] # 創(chuàng)建一個(gè)字符串列表
mix_list = [1, 'a', 'abc'] # 一個(gè)列表中可包含元素類(lèi)型不是固定的
nest_list = [num_list, str_list, mix_list] # 列表可以嵌套
print(num_list) # [1, 2, 3, 4, 5]
print(str_list) # ['a', 'b', 'c']
# 由打印結(jié)果可以看出列表的存儲(chǔ)是有順序的
# 即怎么存的就怎么取
print(num_list[0]) # 列表接受下標(biāo)訪(fǎng)問(wèn),類(lèi)似于JAVA中的數(shù)組 1
print(num_list[1]) # 列表接受下標(biāo)訪(fǎng)問(wèn),類(lèi)似于JAVA中的數(shù)組 2
print(num_list[2]) # 列表接受下標(biāo)訪(fǎng)問(wèn),類(lèi)似于JAVA中的數(shù)組 3
print(num_list[3]) # 列表接受下標(biāo)訪(fǎng)問(wèn),類(lèi)似于JAVA中的數(shù)組 4
print(num_list[4]) # 列表接受下標(biāo)訪(fǎng)問(wèn),類(lèi)似于JAVA中的數(shù)組 5
# 一旦超出長(zhǎng)度,就會(huì)拋出異常
# print(num_list[5]) # IndexError: list index out of range

二、列表中的常用操作

# -*- coding: utf-8 -*-
# __author : Demon
# date : 1/16/18 8:19 PM
# 1. 列表的循環(huán)方式【重要】
num_list = [1, 2, 3, 4, 5] # 創(chuàng)建一個(gè)數(shù)字列表
for num in num_list:
 print(num, end="") # 123456
print()
# 2. 求長(zhǎng)度
num_list = [1, 2, 3, 4, 5] # 創(chuàng)建一個(gè)數(shù)字列表
print(len(num_list)) # 5
# 3. 判斷列表是否為空【重要】
empty_list = list()
num_list = [1, 2, 3]
# 利用非0即True的原則【推薦方法】
if not empty_list: # 如果列表為空
 print("The list is empty")
else:
 print("The list is not empty")
# 利用長(zhǎng)度
if not len(num_list):
 print("The list is empty")
else:
 print("The list is not empty")
# 4. 判斷元素是否存在【重要】
num_list = [1, 2, 3]
if 2 in num_list:
 print("in")
else:
 print("not in")
# 5. append(ele) 尾端添加元素
empty_list = [] # 創(chuàng)建一個(gè)空的列表
for s in "Hello":
 empty_list.append(s)
print(empty_list) # ['H', 'e', 'l', 'l', 'o']
# 上述代碼也是將字符串轉(zhuǎn)換為列表的一種方式,只是代碼比較復(fù)雜
# 6. 列表切片的用法,如字符串切片的用法類(lèi)似【重要】
# 用法 list[start:end:step]
# start可省略,默認(rèn)值為0
# end可省略,默認(rèn)為最大長(zhǎng)度
# step可省略,默認(rèn)為1
# 范圍是[start, end),即左閉右開(kāi)
str_list = ['a', 'b', 'c'] # 創(chuàng)建一個(gè)字符串列表
# 獲取整個(gè)list, ['a', 'b', 'c']
print(str_list[::])
print(str_list[0:])
print(str_list[:3])
print(str_list[:200]) # 長(zhǎng)度超出時(shí),不會(huì)報(bào)錯(cuò)
# 獲取部分
print(str_list[0:2]) # ['a', 'b']
print(str_list[0:2:2]) # ['a']
# 7.sort排序【重要】
# 注意這個(gè)方法沒(méi)有返回值,是在原列表上進(jìn)行修改
str_list = ["adfas", "dsdfw", "nklo"]
str_list.sort()
print(str_list) # ['adfas', 'dsdfw', 'nklo']
# 8.insert(pos, ele) 在指定位置插入元素
str_list = ['a', 'b', 'c'] # 創(chuàng)建一個(gè)字符串列表
str_list.insert(2, "we") # ['a', 'b', 'we', 'c']
print(str_list)
# 如果位置超出長(zhǎng)度,不會(huì)報(bào)錯(cuò),會(huì)在尾部插入
str_list.insert(20, "we") # [['a', 'b', 'we', 'c', 'we']
print(str_list)
# 9.del(pos) 刪除指定位置的元素
# 需要注意這個(gè)方法不是通過(guò)列表.調(diào)用的
# 可以類(lèi)似理解為,它不是列表這個(gè)類(lèi)中的方法
str_list = ['a', 'b', 'c'] # 創(chuàng)建一個(gè)字符串列表
del str_list[0]
print(str_list) # ['b', 'c']
# del str_list[20] # IndexError: list assignment index out of range
# 10.extend(list)或+=合并
num_list = [1, 2]
str_list = ["a", "b"]
print(str_list + num_list) # ['a', 'b', 1, 2]
# 11.remove(ele) 刪除指定值
str_list = ['a', 'b', 'c'] # 創(chuàng)建一個(gè)字符串列表
str_list.remove("a")
print(str_list) # ['b', 'c']
# str_list.remove("d") # ValueError: list.remove(x): x not in list
# 12.pop(pos) 刪除指定位置的元素
str_list = ['a', 'b', 'c'] # 創(chuàng)建一個(gè)字符串列表
# str_val = str_list.pop(100) # IndexError: pop index out of range
str_val = str_list.pop(0)
print(str_val) # a
print(str_list) # ['b', 'c']
# 13.reverse() 反轉(zhuǎn),見(jiàn)練習(xí)
# 14.count(ele)方法查看某個(gè)元素出現(xiàn)的次數(shù)
str_list = ['abc', 'b', 'c', "abc"]
print(str_list.count("abc")) # 2

三、列表的轉(zhuǎn)換

其他形式轉(zhuǎn)列表,采用list(otherType)的方法??梢赞D(zhuǎn)列表的類(lèi)型有:字符串,元組等,如下代碼所示:

str_01 = "abc"
print(list(str_01)) # ['a', 'b', 'c']
tuple_01 = (1, 2, 3)
print(list(tuple_01)) # [1, 2, 3]

列表轉(zhuǎn)其他形式,通??雌渌问绞窃趺粗С洲D(zhuǎn)換。其中比較靈活的是列表轉(zhuǎn)字符串,采用join的方法,如下代碼所示:

str_list = ["a", "b", "c"]
print(",".join(str_list)) # a,b,c
print("".join(str_list)) # abc

列表轉(zhuǎn)字符串需要注意:首先,join方法不是列表自帶的方法,從調(diào)用來(lái)看,它是字符串里的方法;其次,join方法,如果列表中的元素不是字符串,會(huì)報(bào)錯(cuò),如下代碼所示:

num_list = [1, 2, 3] 
# print("".join(num_list)) # TypeError: sequence item 0: expected str instance, int found

四、Python編程學(xué)習(xí)常見(jiàn)的練習(xí)題

1. 列表的反轉(zhuǎn)

# 方式一:調(diào)用列表的reverse()方法
num_list = [1, 2, 3]
num_list.reverse()
print(num_list) # [3, 2, 1]
# 方式二:使用切片
num_list = [1, 2, 3]
for num in num_list[::-1]:
 print(num)
# 如果需要[3, 2, 1]這樣的格式
num_list = [1, 2, 3]
print("[", end="")
for num in num_list[:0:-1]:
 print(num, end=", ")
if not num_list: # 如果列表為空
 print("]")
else:
 print("%d]" % num_list[0])

2.如何將列表拷貝到別一個(gè)列表中

nest_list = [1, 2, 3, ['a', 'b', 'c']]
new_nest_list = nest_list # 直接賦值拷貝
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c']]
new_nest_list.append("4")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']
# 直接賦值的拷貝會(huì)影響原來(lái)的列表,是一種淺拷貝
nest_list = [1, 2, 3, ['a', 'b', 'c']]
new_nest_list = nest_list[::] # 切片
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c']]
new_nest_list.append("4")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c']]
nest_list[-1].append("d")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd']]
# 使用切片,改變最外層對(duì)原列表沒(méi)有影響,而內(nèi)層是有影響的。這也是一種淺拷貝
nest_list = [1, 2, 3, ['a', 'b', 'c']]
new_nest_list = nest_list.copy() # 使用copy方法
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c']]
new_nest_list.append("4")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c']]
nest_list[-1].append("d")
print(new_nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd'], '4']
print(nest_list) # [1, 2, 3, ['a', 'b', 'c', 'd']]
# 使用copy,改變最外層對(duì)原列表沒(méi)有影響,而內(nèi)層是有影響的。這也是一種淺拷貝
# 如果想要實(shí)現(xiàn)深拷貝,需要使用copy模塊中的deepcopy方法,詳見(jiàn)<python中的深拷貝與淺拷貝>一文

3.列表的排序

列表的簡(jiǎn)單排序通常使用list.sort()方法。 但是這個(gè)sort方法使用會(huì)相對(duì)比較靈活。它的完整定義如下:

sort(*, key=None, reverse=False)

key指定一個(gè)函數(shù)名,并且這個(gè)函數(shù)只能接受一個(gè)參數(shù)

reverse指定排序的方式

x = ['bc', 'essmm', 'mdsfm', 'ss' ]
x.sort(key=str.lower)
print(x) # ['bc', 'essmm', 'mdsfm', 'ss']
y = [3, 2, 8, 0, 1]
y.sort(reverse=True)
print(y) # [8, 3, 2, 1, 0]

可以發(fā)現(xiàn),使用list.sort()方法進(jìn)行排序,是調(diào)用的列表中自帶的方法,并且它是作用于原列表,并沒(méi)有返回值。如果我們想要得到一個(gè)新的排好序的列表,則需要使用到sorted()方法。

到此,相信大家對(duì)“Python列表的知識(shí)點(diǎn)有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

本文題目:Python列表的知識(shí)點(diǎn)有哪些
轉(zhuǎn)載源于:http://muchs.cn/article38/gppipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、軟件開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站標(biāo)簽優(yōu)化、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)