第十二課:列表:一個“打了激素”的數(shù)組3

內(nèi)容來源于網(wǎng)絡(luò),本人只是在此稍作整理骂际,如有涉及版權(quán)問題,歸小甲魚官方所有业栅。

練習(xí)題(來自小甲魚官方論壇)

0. 注意秒咐,這道題跟上節(jié)課的那道題有點兒不同,回答完請上機(jī)實驗或參考答案碘裕。(與第十課重復(fù))

old = [1, 2, 3, 4, 5]
new = old
old = [6]
print(new)

如果不上機(jī)操作携取,你覺得會打印什么內(nèi)容?
答:[1, 2, 3, 4, 5]


1. 請問如何將下邊這個列表的'小甲魚'修改為'小魷魚'帮孔?

list1 = [1, [1, 2, ['小甲魚']], 3, 5, 8, 13, 18]

答:list1[1][2][0] = '小魷魚'


2. 要對一個列表進(jìn)行順序排序雷滋,請問使用什么方法?

答:列表名.sort()


3. 要對一個列表進(jìn)行逆序排序文兢,請問使用什么方法晤斩?

答:

列表名.sort(reverse=True)
列表名.reverse()

4. 列表還有兩個內(nèi)置方法沒給大家介紹,不過聰明的你應(yīng)該可以自己摸索使用的門道吧:copy() 和 clear()

答:

>>> list1 = [1, [1, 2, ['小甲魚']], 3, 5, 8, 13, 18]
>>> list2 = list1.copy()
>>> list1.clear()
>>> list1
[]
>>> list2
[1, [1, 2, ['小甲魚']], 3, 5, 8, 13, 18]
>>> 

5. 你有聽說過列表推導(dǎo)式或列表解析嗎姆坚?

沒聽過澳泵?!沒關(guān)系兼呵,我們現(xiàn)場來學(xué)習(xí)一下吧兔辅,看表達(dá)式:

[ i*i for i in range(10) ]

你覺得會打印什么內(nèi)容腊敲?

>>> [ i*i for i in range(10) ]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> 

居然分別打印了0到9各個數(shù)的平方,然后還放在列表里邊了有木有维苔?碰辅!
列表推導(dǎo)式(List comprehensions)也叫列表解析,靈感取自函數(shù)式編程語言 Haskell介时。Ta 是一個非常有用和靈活的工具没宾,可以用來動態(tài)的創(chuàng)建列表,語法如:
[有關(guān)A的表達(dá)式 for A in B]
例如:

>>> list1 = [x**2 for x in range(10)]
>>> list1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> 

相當(dāng)于

list1 = []
for x in range(10):
    list1.append(x**2)

問題:請先在 IDLE 中獲得下邊列表的結(jié)果潮尝,并按照上方例子把列表推導(dǎo)式還原出來榕吼。
list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
答:

>>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
>>> list1
[(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]
>>> list1 = []
>>> for x in range(10):
    for y in range(10):
        if x % 2 == 0:
            if y % 2 != 0:
                list1.append((x, y))

                
>>> list1
[(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]
>>> 

6. 活學(xué)活用:請使用列表推導(dǎo)式補(bǔ)充被小甲魚不小心涂掉的部分

list1 = ['1.Jost do It','2.一切皆有可能','3.讓變成改變世界','4.Impossible is nothing']
list2 = ['4.阿迪達(dá)斯','2.李寧','3.魚C工作室','1.耐克']
list3 = [XXXXXXXXX]
print(list3)
for each in list3:
    print(each)

答:補(bǔ)好代碼
list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]


7. 請寫下這一節(jié)課你學(xué)習(xí)到的內(nèi)容:格式不限,回憶并復(fù)述是加強(qiáng)記憶的好方式勉失!

  • 列表的常用操作符:
    比較:如果有多個元素羹蚣,默認(rèn)從第一個元素開始比較,比較對應(yīng)的ASCII碼值大新以洹顽素;
    邏輯(and or):
    連接(+):[1, 2, 3] + [4, 5, 6] 結(jié)果是 [1, 2, 3, 4, 5, 6]
    重復(fù)(*):['Hi!'] * 4 結(jié)果是 ['Hi!', 'Hi!', 'Hi!', 'Hi!']
    成員關(guān)系(in 和 not in):3 in [1, 2, 3] 結(jié)果是 True

  • 列表的方法:dir(list)
    append():在列表末尾添加新的對象
    extend():在列表末尾一次性追加另一個序列中的多個值(用新列表擴(kuò)展原來的列表)
    count():統(tǒng)計出現(xiàn)的次數(shù)
    index(目標(biāo),起始位置徒蟆,截止位置):返回參數(shù)在列表中的位置
    insert():將對象插入到列表指定位置
    pop():移除列表中的一個元素(默認(rèn)最后一個元素胁出,可指定其他的位置),并且返回該元素的值
    remove():移除列表中某個值的第一個匹配項(不能指定位置刪除)
    reverse():翻轉(zhuǎn)列表
    sort():按照指定的方式對列表成員排序段审,默認(rèn)則從小到大排列
    特別的:sort(reverse=True)表示從大到小羽戒,默認(rèn)為False

  • 列表的內(nèi)置函數(shù):
    比較兩個列表的元素:operator.eq(list1,list2)(前提需import operator)
    計算列表元素個數(shù):len(list1)
    返回列表中元素最大值:max(list1)
    返回列表中元素最小值:min(list1)
    將元組轉(zhuǎn)換為列表:list(tuple1)

  • 列表分片“拷貝”注意下習(xí)題就好了


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市双吆,隨后出現(xiàn)的幾起案子胳搞,更是在濱河造成了極大的恐慌,老刑警劉巖姥闪,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件始苇,死亡現(xiàn)場離奇詭異,居然都是意外死亡筐喳,警方通過查閱死者的電腦和手機(jī)催式,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來避归,“玉大人荣月,你說我怎么就攤上這事』痹啵” “怎么了喉童?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我堂氯,道長蔑担,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任咽白,我火速辦了婚禮啤握,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘晶框。我一直安慰自己排抬,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布授段。 她就那樣靜靜地躺著蹲蒲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪侵贵。 梳的紋絲不亂的頭發(fā)上届搁,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機(jī)與錄音窍育,去河邊找鬼卡睦。 笑死,一個胖子當(dāng)著我的面吹牛漱抓,可吹牛的內(nèi)容都是我干的表锻。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼乞娄,長吁一口氣:“原來是場噩夢啊……” “哼瞬逊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仪或,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤码耐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后溶其,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡敦间,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年瓶逃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廓块。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡厢绝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出带猴,到底是詐尸還是另有隱情昔汉,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布拴清,位于F島的核電站靶病,受9級特大地震影響会通,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜娄周,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一涕侈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧煤辨,春花似錦裳涛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鹃彻,卻和暖如春郊闯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背浮声。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工虚婿, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人泳挥。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓然痊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親屉符。 傳聞我的和親對象是個殘疾皇子剧浸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

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