day05 列表 2018-07-20

1. 列表

  • 列表谎碍、字典萄喳、元組、集合都是序列猾愿,都是容器類的數(shù)據(jù)類型鹦聪。
  • 列表list:用來存儲多個數(shù)據(jù)的一種數(shù)據(jù)類型。

特點:

?1. 有序的
?2. 可變的(指容器中的內(nèi)容個數(shù)和值可變)
?3. 元素可以是任何類型的數(shù)據(jù)

  • 列表的值:用[]將列表中的元素括起來蒂秘,多個元素間用 ' , ' 隔開椎麦,[ ]是一個空列表
list0 = []
print(type(list0))
print('--------------------')

list1 = [1,3,5,'QQ',True]
print(list1, type(list1))
print('--------------------')

# 將其他類型數(shù)據(jù)轉(zhuǎn)換成列表
list2 = list('Avengers')
print(list2)
print('--------------------')

list3 = list(i for i in range(10) if i % 3 == 0)
print(list3)
print('--------------------')

<class 'list'>
--------------------
[1, 3, 5, 'QQ', True] <class 'list'>
--------------------
['A', 'v', 'e', 'n', 'g', 'e', 'r', 's']
--------------------
[0, 3, 6, 9]
--------------------


2. 獲取列表元素

  • 列表中的每一個元素都對應(yīng)一個下標:0~列表長度-1;-1~列表長度
a. 獲取單個元素:列表名[下標]
superhero = ['Iron man','Spider man','Rocket','Doctor Strange','Thor']
print(superhero[1])
print(superhero[2])
print(superhero[-3])
print('-------------------------')

Spider man
Rocket
Rocket
-------------------------

b. 獲取多個元素(切片)
  • 列表名[起始下標:結(jié)束下標]:獲取從開始下標開始到結(jié)束下標前的所有元素材彪。結(jié)果是一個列表
  • 列表名[起始下標:結(jié)束下標:步長]:從開始下標開始观挎,每次下標值增加步長獲取下一個元素琴儿,直到結(jié)束下標前為止
    起始下標和結(jié)束下標都可以缺省:
  • 若步長是正數(shù):開始下標缺省就從第一個獲取到結(jié)束下標嘁捷,結(jié)束下標缺省就從開始下標取到最后一個元素造成;
  • 若步長為負數(shù):開始下標缺省就從最后一個倒序獲取到結(jié)束下標,結(jié)束下標缺省就從開始下標倒序取到第一個元素雄嚣。
    注意:此處下標可越界
print(superhero[1:10])
print(superhero[:-9:-1])
print('-------------------------')

['Spider man', 'Rocket', 'Doctor Strange', 'Thor']
['Thor', 'Doctor Strange', 'Rocket', 'Spider man', 'Iron man']
-------------------------

  • for循環(huán)遍歷
for hero in superhero:
    print(hero)

Iron man
Spider man
Rocket
Doctor Strange
Thor

  • while循環(huán)遍歷
index = 0
while index < len(superhero):
    print(superhero[index])
    index += 1

Iron man
Spider man
Rocket
Doctor Strange

Thor


3. 添加列表元素

創(chuàng)建一個空列表

sheep = []
print(sheep)
print('--------------------')

[]
--------------------

3.1. append()函數(shù)
  • 格式:列表.append(元素)
  • 作用:在列表的末尾添加一個元素
sheep.append('喜羊羊')
print(sheep)
print('--------------------')

sheep.append('懶羊羊')
print(sheep)
print('--------------------')

['喜羊羊']
--------------------
['喜羊羊', '懶羊羊']
--------------------

3.2. insert()函數(shù)
  • 格式:列表.insert(index,元素)
  • 功能:在列表指定的下標前插入一個元素
    注意:此時下標可越界晒屎,插入到最前或最后面
sheep.insert(1,'美羊羊')
print(sheep)
print('--------------------')

['喜羊羊', '美羊羊', '懶羊羊']
--------------------

3.3. +
  • 格式:列表1+列表2
  • 功能:將列表2中的元素添加到列表1中,創(chuàng)建一個新列表
wolf = ['灰太狼','紅太狼']
qingqing_grasslands = sheep + wolf
print(qingqing_grasslands)

['喜羊羊', '美羊羊', '懶羊羊', '灰太狼', '紅太狼']

練習(xí):從控制臺輸入十個學(xué)生的成績保存到列表中

score = []
for i in range(10):
    grade = float(input('請輸入學(xué)生的成績:'))
    if 0<= grade <= 100:
        score.append(grade)
    else:
        print('成績錯誤')
print(score)

請輸入學(xué)生的成績:90
請輸入學(xué)生的成績:78
請輸入學(xué)生的成績:67
請輸入學(xué)生的成績:56
請輸入學(xué)生的成績:87
請輸入學(xué)生的成績:85
請輸入學(xué)生的成績:79
請輸入學(xué)生的成績:93
請輸入學(xué)生的成績:89
請輸入學(xué)生的成績:66
[90.0, 78.0, 67.0, 56.0, 87.0, 85.0, 79.0, 93.0, 89.0, 66.0]


4. 刪除列表元素

?不管是增加還是刪除元素都會重新分配下標
game = ['王者榮耀','荒野行動','英雄聯(lián)盟','奇跡暖暖','魔獸爭霸','CS:GO']

4.1. del 語句
  • 作用:del 可以刪除任何數(shù)據(jù)
  • 格式 :del 列表[下標]:刪除列表中指定下標的元素
    注意:這里下標不能越界
print(game)
del game[0]
print(game)

['王者榮耀', '荒野行動', '英雄聯(lián)盟', '奇跡暖暖', '魔獸爭霸', 'CS:GO']
['荒野行動', '英雄聯(lián)盟', '奇跡暖暖', '魔獸爭霸', 'CS:GO']

4.2. remove()
  • 格式:列表.remove(元素)
  • 作用:刪除指定元素(如果存在多個相同元素只會刪除第一個元素)
    注意:如果要刪除的元素不在列表中缓升,程序會報錯
game.remove('荒野行動')
print(game)

['英雄聯(lián)盟', '奇跡暖暖', '魔獸爭霸', 'CS:GO']

4.3. pop()
  • 格式1:列表.pop()
  • 作用:從列表中移除最后一個元素
  • 格式2:liebiao.pop(下標)
  • 作用:從列表中移除指定下標的元素
print(game)
# 格式1
g = game.pop()
print(game, g)
# 格式2
ga = game.pop(1)
print(game, ga)

['英雄聯(lián)盟', '奇跡暖暖', '魔獸爭霸', 'CS:GO']
['英雄聯(lián)盟', '奇跡暖暖', '魔獸爭霸'] CS:GO
['英雄聯(lián)盟', '魔獸爭霸'] 奇跡暖暖

練習(xí):從10個學(xué)生的成績中移除低于60分的成績

scores = [10, 20, 83, 64, 75, 36, 47, 68, 60, 79]
print(scores)
for score in scores[:]:
    if score < 60:
        scores.remove(score)
print(scores)

[10, 20, 83, 64, 75, 36, 47, 68, 60, 79]
[83, 64, 75, 68, 60, 79]


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鼓鲁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子港谊,更是在濱河造成了極大的恐慌骇吭,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歧寺,死亡現(xiàn)場離奇詭異燥狰,居然都是意外死亡,警方通過查閱死者的電腦和手機斜筐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門龙致,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人顷链,你說我怎么就攤上這事目代。” “怎么了嗤练?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵榛了,是天一觀的道長。 經(jīng)常有香客問我潭苞,道長,這世上最難降的妖魔是什么真朗? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任此疹,我火速辦了婚禮,結(jié)果婚禮上遮婶,老公的妹妹穿的比我還像新娘蝗碎。我一直安慰自己,他們只是感情好旗扑,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布蹦骑。 她就那樣靜靜地躺著,像睡著了一般臀防。 火紅的嫁衣襯著肌膚如雪眠菇。 梳的紋絲不亂的頭發(fā)上边败,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音捎废,去河邊找鬼笑窜。 笑死,一個胖子當著我的面吹牛登疗,可吹牛的內(nèi)容都是我干的排截。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼辐益,長吁一口氣:“原來是場噩夢啊……” “哼断傲!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起智政,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤认罩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后女仰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猜年,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年疾忍,在試婚紗的時候發(fā)現(xiàn)自己被綠了乔外。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡一罩,死狀恐怖杨幼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情聂渊,我是刑警寧澤差购,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站汉嗽,受9級特大地震影響欲逃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饼暑,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一稳析、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧弓叛,春花似錦彰居、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至毕籽,卻和暖如春抬闯,著一層夾襖步出監(jiān)牢的瞬間井辆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工画髓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留掘剪,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓奈虾,卻偏偏與公主長得像夺谁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子肉微,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容