本文涉及的python基礎語法爲:列表及其方法
咱們發現了一段存在[]
中的諜報密碼,爲了破解他,咱們必須先來學習一下,這個存放着諜報密碼的[]
python
列表是python內置的一種序列,其餘的序列咱們後面會一一介紹
序列中的每一個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推
建立一個列表,只要把逗號分隔的不一樣的數據項使用方括號括起來便可。以下所示
list1 = ['西遊記', '三國演義', '水滸傳', '紅樓夢'] #字符串格式必定要記得加上引號 list2 = [2, 4, 6, 8] #一段偶數序列
上面咱們講到了列表的索引,咱們能夠經過列表的索引來獲取它的元素,示例以下:app
list1 = ['西遊記', '三國演義', '水滸傳', '紅樓夢'] #字符串格式必定要記得加上引號 print(list1[0]) #list1[0]就是'西遊記'的索引 #輸出:西遊記 print(list1[1]) #list1[1]就是'三國演義'的索引 #輸出:三國演義 print(list1[2]) #list1[2]就是'水滸傳'的索引 #輸出:水滸傳 print(list1[3]) #list1[3]就是 '紅樓夢'的索引 #輸出:紅樓夢
列表的切片格式是list[start:end:step]
函數
start:起始索引,從0開始,-1表示結束
end:結束索引
step:步長,步長爲正時,從左向右取值。步長爲負時,反向取值
注意切片的結果不包含結束索引,即不包含最後的一位,一般咱們稱爲
左閉右開, -1表明列表的最後一個位置索引
學習
list1 = ['西遊記', '三國演義', '水滸傳', '紅樓夢'] #從左至右,list1的元素用正向的索引來取值的方式: list1[0], list1[1], list1[2], list1[3] #從左至右,list1的元素用反向的索引來取值的方式: list1[-4], list1[-3], list1[-2], list1[-1]
若是我只想要list1的前三個元素,該怎麼寫呢?
code
list1 = ['西遊記', '三國演義', '水滸傳', '紅樓夢'] print(list1[0 : 3]) #輸出:['西遊記', '三國演義', '水滸傳'] 注意切片的左閉右開原則,不包含結束索引,即不包含最後的一位
假若有一組從0-10的列表,咱們只想要這個列表裏面的全部偶數元素,那麼該怎麼取值呢?
對象
list2 = [0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10] print(list2[0 : 11 : 2]) #注意左閉右開,爲了取得元素10,因此咱們的索引值要+1 #輸出:[0, 2, 4, 6, 8, 10]
表達式 | 描述 | 結果 |
---|---|---|
len( [0 , 1 , 2 , 3 , 4 , 5 ]) | len()獲取列表的長度 | 6 |
[1, 2, 3] + [4, 5, 6] | + 表示多個列表組合 | [1, 2, 3, 4, 5, 6] |
['邏輯課'] * 2 | * 表示重複列表 | ['邏輯課' , '邏輯課'] |
5 in [1, 2, 5] | in 表示元素是否存在於列表中 | True |
函數 | 描述 |
---|---|
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([index=-1]) | 移除列表中的一個元素(默認最後一個元素),而且返回該元素的值 |
list.remove(obj) | 移除列表中某個值的第一個匹配項 |
list.reverse() | 反向列表中元素 |
list.sort(cmp=None, key=None, reverse=False) | 對原列表進行排序 |
如今個人手頭有這樣一份諜報密碼,請你按照提示完成密碼的破解,下面,讓咱們來開始吧!排序
report = [ 'u', 'b', '1', 't', 's', '0', '3', '9', 'k', 'b', '4', 'n', ' ', '7', 'b', 'f', 'h', 'r', '3', '6', 's', 'v', 'f', ' ', '-', 'z', 'e', 'b', '8', '5', 'ə', 'j', 'u', '2', 'o', 'l', '8', 'b', 'i', 'q', 'b', '7', '9', 'b', 'm', 'i', 's', '3', 'i', '8', '$', 'u', '0', 't', '9', ';', 'q', 'w', ' ', '!', ] #取出列表 report 中第 12 到 13 個元素(包含 12 和 13),存放在到變量裏,好比 secret 變量裏; #列表 secret 尾部追加 report 列表中最中間的一個元素; #列表 secret 尾部追加 report 列表中元素'b'出現的次數 #列表 secret 尾部追加 report 列表中最後的兩個元素; #將字符串'ʌo'插入到列表索引 secret[3]的位置 #使用print(''.join(secret))將列表 secret 轉爲字符串並打印到屏幕上。
如今請按照上面的提示來破解這封諜報,看看這位它寫了什麼信息。
索引
問題的中涉及的python列表方法都已經在上面的表格裏面