PY從0到1 第三節 列表

2022-07-10 20:57:14 字數 3682 閱讀 8295

#

3 列表

#1> 下面這就是乙個列表

aabbccdd = ['

ee','

ff','gg'

]#列表可以儲存資料,包含其中元素可以有很多,是可修改、有次序的。

#下面展示一下兩套索引。

#0 1 2

#aabbccdd = ['ee','ff','gg']

#-3 -2 -1

#可以用兩種方式抽取列表的元素,如下。

h =aabbccdd[0]

print

(h)i = aabbccdd[-2]

print

(i)#

對應的輸出結果如下#ee

#ff#強調一點,索引從0開始。

#2> 修改、新增和刪除列表中的元素

#修改可以用下列語句,通俗的講應該叫替換。

aabbccdd[0] = 'kk'

print

(aabbccdd)

#輸出結果為:['kk', 'ff', 'gg']

#新增元素可以使用下面的方法,預設新增到列表的最後一位。uu'

)print

(aabbccdd)

#輸出結果為:['kk', 'ff', 'gg', 'uu']##

也可以使用方法insert()將元素插入到指定位置,具體如下。

aabbccdd.insert(1,'pp'

)print

(aabbccdd)

#輸出結果為:['kk', 'pp', 'ff', 'gg', 'uu']

#如果知道元素的索引,可以直接用del 刪除對應元素

delaabbccdd[0]

print

(aabbccdd)

#輸出結果為:['pp', 'ff', 'gg', 'uu']

#使用pop()刪除元素,通俗講是叫提取。預設提取最後乙個元素。

popped_aabbccdd = aabbccdd.pop(1)

print

(aabbccdd)

print

(popped_aabbccdd)

#輸出結果為:

#['pp', 'gg', 'uu']#ff

#如果知道元素名稱,可以用remove()直接刪除。

#remove()不具有提取功能。

#如果列表中有重複的元素,方法remove()只刪除索引較小的那乙個。

#如果列表中有重複的元素就需要用if迴圈解決。gg'

)print

(aabbccdd)

aaccddee = aabbccdd.remove('gg'

)print

(aabbccdd)

print

(aaccddee)

#對應的結果如下:

#['pp', 'gg', 'uu', 'gg']

#['pp', 'uu', 'gg']

#none

#3> 列表排序

#用方法sort()對列表進行排序,可以永久改變列表順序。

aabbccdd.sort()

print

(aabbccdd)

#輸出結果為:['gg', 'pp', 'uu']

#傳入reverse = true,可以相反順序排序。

aabbccdd.sort(reverse =true)

print

(aabbccdd)

#輸出結果為:['uu', 'pp', 'gg']

#直接將列表傳入sorted()可以臨時改變列表排序,也同樣適用於方法reverse,語句如下。

#print(sorted(aabbccdd,reverse = true))

#方法reverse()可以倒著列印列表,但可以隨時恢復到原來的順序,只需要再呼叫這個方法即可。

aabbccdd.reverse()

print

(aabbccdd)

#對應結果如下:['gg', 'pp', 'uu']

#4> 確定列表長度

#使用方法len()可以確定列表長度。

print

(len(aabbccdd))

#輸出結果為:3

#5> 遍歷列表

#下面重新定義乙個新的列表

abc = ['

a','

b','

c','

d','e'

]for cc in

abc:

print

(cc)

#簡單兩行**就可以實現遍歷的功能,結果如下#a

#b#c

#d#e

#使用for時要注意後面有個冒號,如,for cc in abc:<----

#6> 使用函式range()建立數值列表

#可以使用list()和range()配合直接生成數值列表

numbers = list(range(1,10))

print

(numbers)

#注意,使用range()生成的數字是有頭無尾的,所以上述**的結果如下。

#[1, 2, 3, 4, 5, 6, 7, 8, 9]

#7> 對數字列表的簡單統計

#使用方法max()、min()、sum()對列表秋最大值,最小值和總和

print

(min(numbers))

print

(max(numbers))

print

(sum(numbers))

#結果如下。#1

#9#45

#8> 列表切片

#切片就是說提取列表的一部分,且不改變原列表。

#基本形式是:[起始索引:終止索引],也遵循有頭無尾原則。

#舉例如下。

print(numbers[:]) #

又叫複製列表

print(numbers[2:8])

print(numbers[:8])

print(numbers[:-1])

print(numbers[2:])

#結果如下

#[1, 2, 3, 4, 5, 6, 7, 8, 9]

#[3, 4, 5, 6, 7, 8]

#[1, 2, 3, 4, 5, 6, 7, 8]

#[1, 2, 3, 4, 5, 6, 7, 8]

#[3, 4, 5, 6, 7, 8, 9]

#請讀者自行對比這五種切片的異同。

#9> 元組

#他是一種特殊的列表,規則限定其中的元素無法被改變,只能被再次賦值。

#元組是用()表達

yuanzu1 = ('

s','

ss','

sss'

)yuanzu1['s

'] = '

ssss'#

這時,python就會報錯,如下。

#typeerror: 'tuple' object does not support item assignment

#可以看到元組裡的元素確實不能被修改。

#但是對其做賦值操作是可以的。

yuanzu1 = ('

s','

ss','

sss'

)yuanzu1 = ('

ssssss')

print

(yuanzu1)

#結果為:ssssss

第三節 列表 元組 字典

列表 list 的屬性 有序的切片取值 索引取值 列表可以被修改 列表可以巢狀任何型別 可以被for迴圈 list 將字串轉換成列表 列表轉換成字串 test asd asd fd v join test join的引數是可迭代物件 print v asdasdfd enumerate在字典上是列舉...

編譯原理 第三節

我們知道世界上存在很多種語言 我們可以把他們分為自然語言 人們日常交流的工具 和程式語言。自然語言複雜且難以描述,程式語言結構規整,便於處理。但兩者又有共性,即核心都由語法和語義兩部分組成。那什麼是語言呢?首先來看一下字母表定義 字母表是元素的非空有窮集合。字母表包含了語言中允許出現的全部符號。例如...

Itween筆記 第三節

itween關於動畫執行的補充.itween.camerafadefrom itween.hash amount 1f,time 2f 在兩秒結束後.itween.camerafadefrom itween.hash amount 1f,time 2f,oncomplete itweentest o...