如何在Python中使用list、tuple和range-創(chuàng)新互聯(lián)

本篇文章為大家展示了如何在Python中使用list、tuple和range,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的紅崗網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

list 和 tuple

  • list:列表,由 [] 標(biāo)識; 有序;可改變列表元素

  • tuple:元組,由 () 標(biāo)識; 有序;不可改變元組元素(和list的主要區(qū)別)

list 和 tuple 的創(chuàng)建:

print([])               # 空list
print(["a",1,True])          # 元素類型不限
print([x for x in range(0,6)])    # 列表推導(dǎo)式
print(list("a"),type(list("a")))   # 強制轉(zhuǎn)化
print(())               # 空tuple
print((1))              # 不是tuple
print((1,))              # 單一元素tuple 一定要加,
print(("a",1,True))          # 元素類型不限
print(tuple("a"),type(tuple("a")))  # 強制轉(zhuǎn)化

空list l = []

list 用一對方括號,用','隔開里面的元素  l = [a]   l = ["a",1,True]  元素類型不限

列表推導(dǎo)式,如:[x for x in range(0,6)] (下方會詳細(xì)介紹 range 及 列表推導(dǎo)式)

類型轉(zhuǎn)換 list()

空tuple  t = ()

tuple 若只有一個元素時,注意表示為  t = (1,)  一定要有逗號

tuple 用一對圓括號,用','隔開里面多個的元素  t = ("a",1,True)  元素類型不限

類型轉(zhuǎn)換 tuple()

range

range 可方便的生成一個等差的序列,有兩種表示 range(stop) 、range(start, stop[, step]) ; 通常用在 for循環(huán)語句中

range(stop) 表示 0 到 stop(不包含stop) 等差為1 的數(shù),如 range(4) 表示 0 1 2 3

range(start, stop[, step]) 表示 從 start 到 stop(不包含stop) 等差為step的數(shù);step缺省為1,可設(shè)置為負(fù)數(shù)

print(type(range(4)))          # range本身就是一個type
for i in range(4):
  print(i)              # 0 1 2 3
for i in range(-1):           # 從0計數(shù),無值
  print(i)
for i in range(4,7):          # 4 5 6
  print(i)
for i in range(2,7,2):         # 2 4 6
  print(i)
for i in range(5,2,-1):         # 5 4 3
  print(i)

序列操作

一般操作,不改變list本身

OperationResult
x in sTrue if an item of s is equal to x, else False
x not in sFalse if an item of s is equal to x, else True
s + tthe concatenation of s and t
s * n or n * sn shallow copies of s concatenated
s[i]ith item of s, origin 0
s[i:j]slice of s from i to j
s[i:j:k]slice of s from i to j with step k
len(s)length of s
min(s)smallest item of s
max(s)largest item of s
s.index(x[, i[, j]])index of the first occurrence of x in s (at or after index i and before index j)
s.count(x)total number of occurrences of x in s
s = ["a",1,True,["b"],2]    
print("a" in s)        # 判斷元素存在于s
print("a" not in s)      # 判斷元素不存在于s
print("b" in s)
print(1.0 in s)        # 這邊不判斷int float類型不同
print("1" in s)        # 這邊的1為字符串
a = [1,2]
b = [2,1,0]
print(a+b)           # 序列相加
print(a*3)           # 序列乘法
s = [0,1.0,2,3,4,5,6,7,8] 
print(s[0],s[2],s[3])     # 通過下標(biāo)來取出對應(yīng)的元素
print(type(s[0]))      
print(type(s[1]))
print(s[2:4])         # 取出一段list
print(s[2:7:2])        # 根據(jù)步長取出一段list
print(len(s))         # list長度,即包含幾個元素
sum = 0            
for i in range(0,len(s)):   # 使用for循環(huán)來取出list的每個元素
  print(s[i])
  sum += i          # 賦值的簡單表達式,相當(dāng)于 sum = sum + i
print(sum)           # 總和
print(min(s),max(s))      # 取最小/大;注意元素類型間若不可比較,會報錯
s = [2,3,1,2,2,3]
print(s.index(2))       # 查找對應(yīng)元素第一次出現(xiàn)的下標(biāo)
# print(s.index(4))      # 不存在該元素會報錯
print(s.index(2,3))      # 從下標(biāo)為3的開始找起
print(s.index(2,3,4))     # 從下標(biāo)為3到下標(biāo)4的階段內(nèi)找
print(s.count(2))       # 輸出為2的元素的個數(shù)
print(s.count("2"))      # 找不到匹配元素,返回0

上方列出的操作方法對 tuple 也都適用,因為并不改變序列本身的元素,如

s = (2,3,1,2,2,3)
print(s[2],s[2:4],len(s),s.count(2))      # 對tuple均適用

改變序列的操作:僅對 list 適用;若對 tuple 操作,會報錯;clear()copy() 是 Python 3.3 才新增的方法

OperationResult
s[i] = xitem i of s is replaced by x
s[i:j] = tslice of s from i to j is replaced by the contents of the iterable t
s[i:j:k] = tthe elements of s[i:j:k] are replaced by those of t
del s[i:j]same as s[i:j] = []
del s[i:j:k]removes the elements of s[i:j:k] from the list
s.pop([i])retrieves the item at i and also removes it from s
s.remove(x)remove the first item from s where s[i] == x
s.clear()removes all items from s (same as del s[:])
s.append(x)appends x to the end of the sequence (same as s[len(s):len(s)] = [x])
s.extend(t)extends s with the contents of t (same as s[len(s):len(s)] = t)
s.insert(i, x)inserts x into s at the index given by i (same as s[i:i] = [x])
s.copy()creates a shallow copy of s (same as s[:])
s.reverse()reverses the items of s in place

list的增、刪、改的操作實際都比較實用,需要熟練掌握

list元素更改

可對 list 不同的下標(biāo)表示法做以下操作,一般 list 下標(biāo)的操作僅作對單一元素的更改賦值,如 s[0]=1 ;對多個元素的操作見下方示例(僅供參考)

s = [0,1,2,3]
s[0] = "1"
print(s)            # 對list的某一元素賦另外的值,類型也跟隨改變
s[4] = 1            # 不可超過原list的長度,會報錯
s[0:3] = [2,3,4]        # 可對一段元素賦另外的值
print(s)    
s[0:3] = ["x","x"]        # 可缺少,元素個數(shù)也就相應(yīng)的減少了
print(s)    
s[0:2] = ["x","x","x","x"]    # 可增加,元素個數(shù)也就相應(yīng)的減加了
print(s)  
s[0] = [0,0]          # 單個元素注意,相當(dāng)于賦值,把序列賦予該元素
print(s)  
s[1:2] = [0,0]        
print(s)  
s = [0,1,2,3,4,5,6,7,8]
s[1:8:2] = ["x"]*4      
# s[1:8:2] = ["x"]*3      # 這種表示方式元素個數(shù)一定需要相同,不然會報錯
print(s)

list元素刪除

s = [0,1,2,3,4,5,6,7,8]
del s[0:4]            # 刪除對應(yīng)的元素  
print(s)  
s = [0,1,2,3,4,5,6,7,8]
del s[1:8:2]           # 做刪除
print(s)
s = [0,1,2,3,4,5,6,7,8]
s.pop(3)
print(s.pop(3),s)         # 做刪除,并且返回該元素的值
print(s.pop(),s)         # 默認(rèn)刪除最后一個
s = [2,"1",1.0,1,2,1]
s.remove(1)            # 刪除第一個值為 1 的元素
print(s)          
s.clear()             # 置空,Python3.3引入
print(s)

list元素增加

s = [0,1,2,3,4]
s.append(5)            # list 最后加一個元素
print(s)
s.extend([6,7])          # list 最后拼接序列
print(s)
s.extend(range(3))
print(s)
s.insert(1,["x"])         # 在1的位置插入["x"]
print(s)

其他操作,reverse、copy

s = [1,2,3]
c = s.copy()          # 相當(dāng)于 c = s
print(c)
c.reverse()
print(c)
s = [2,3,1,4]
s.sort()            # 排序
print(s)
# s = ["b",1,"a",True]     # 報錯,必須是可比較的類型
s = ["b","a"]
s.sort()  
print(s)
Python的優(yōu)點有哪些

1、簡單易用,與C/C++、Java、C# 等傳統(tǒng)語言相比,Python對代碼格式的要求沒有那么嚴(yán)格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向?qū)ο?,能夠支持面向過程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見功能。

上述內(nèi)容就是如何在Python中使用list、tuple和range,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:如何在Python中使用list、tuple和range-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://bm7419.com/article36/ddppsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、App開發(fā)、電子商務(wù)、品牌網(wǎng)站建設(shè)、網(wǎng)站排名、標(biāo)簽優(yōu)化

廣告

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

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