Python入門(五)

列表操作
上次課程我們將到了列表,接著我們繼續(xù)來看列表的一些操作
刪除列表中的元素

del 函數(shù)可以刪除列表中的元素,一般的函數(shù)都是用小括號,只有列表用中括號

list1=list(range(9))
list1
[0, 1, 2, 3, 4, 5, 6, 7, 8]
del list1[0]
list1
[1, 2, 3, 4, 5, 6, 7, 8]
刪除列表的子列表:
del list1[1:3]
list1
[1, 4, 5, 6, 7, 8]
刪除整個列表
del list1
list1 
##相當(dāng)于從內(nèi)存中清空---------------------------------------------------------------------------```
下面我們看一個難點(diǎn)
列表生成式(難點(diǎn))

在Python的列表中,列表生成式體現(xiàn)了Python優(yōu)雅的特色! 如果讓你生成一個列表,元素是1~10的平方,你會怎么生成?

1 方法一:簡單粗暴

list2[1**2, 2**2,3**2,4**2,5**2,6**2,7**2,8**2,9**2,10**2]
list2
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2 方法二:循環(huán)

list3=[]
for i in range(1,11):
    list3.append(i**2)
list3
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3 方法三:列表生成式,列表里面可以放循環(huán),中間里面沒有標(biāo)點(diǎn)符號,全部是空格,而正常書寫函數(shù)后面跟著的是·冒號·

[i**2 for i in range(11) ]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
list4=[i**2 for i in range(11) ]
list4
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
一行代碼搞定!,是不是很優(yōu)雅,哈哈
大家比較一下循環(huán)和列表生成式,發(fā)現(xiàn)列表生成式結(jié)構(gòu)如下

[表達(dá)式 for i in 序列]

如果循環(huán)里是雙層的,你還能用列表生成式?
當(dāng)然可以!

[i*j  for j in range(1,i)  for i in range(1,10)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27, 4,
 8, 12, 16, 20, 24, 28, 32, 36, 5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 
42, 48, 54, 7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72, 9, 18, 2
7, 36, 45, 54, 63, 72, 81]
雙層循環(huán)列表生成式
[i*j for j in range(1,i) for i in range(1,10) if j<=i]##結(jié)果如下
[1, 2, 3, 4, 5, 6, 7, 8, 9, 4, 6, 8, 10, 12, 14, 16, 18, 9, 12, 15, 18, 21, 24, 27, 16, 20, 2
4, 28, 32, 36, 25, 30, 35, 40, 45, 36, 42, 48, 54, 49, 56, 63, 64, 72]

常規(guī)for循環(huán)寫法

list5=[]
for i in range(0,10):
    for j in range(1,i):
        if j<=i:
            list5.append(i*j)
print(list5)
[2, 3, 6, 4, 8, 12, 5, 10, 15, 20, 6, 12, 18, 24, 30, 7, 14, 21, 28, 35, 42, 8, 16, 24, 32, 
40, 48, 56, 9, 18, 27, 36, 45, 54, 63, 72]
常規(guī)for循環(huán)寫法 ##比較二者寫法區(qū)別
list6=[]
if j<=i:
    for i in range(1,10):
        for j in range(1,i):
            list6.append(i*j)
print(list6)
[2, 3, 6, 4, 8, 12, 5, 10, 15, 20, 6, 12, 18, 24, 30, 7, 14, 21, 28, 35, 42, 8, 16, 24, 
32,40, 48, 56, 9, 18, 27, 36, 45, 54, 63, 72]

習(xí)題:求出1~10中能被3整除的數(shù)的平方做成列表:通過if來篩選符合條件的(就是循環(huán)里嵌套判斷),這個時候就是利用列表生成式表示

[i**2 for i in range(1,11) if i%3==0]
[9, 36, 81]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 〇、前言 本文共108張圖,流量黨請慎重! 歷時1個半月,我把自己學(xué)習(xí)Python基礎(chǔ)知識的框架詳細(xì)梳理了一遍。 ...
    Raxxie閱讀 19,602評論 17 410
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,613評論 0 13
  • 如果你相信:你對這個世界所有說過的話,做過的行為,動過的念,最終都會回到你的生命里!你會選擇如何經(jīng)驗?zāi)愕纳?記...
    谷應(yīng)閱讀 372評論 0 3
  • 《軟件復(fù)雜性應(yīng)對之道》讀后感: 一個復(fù)雜的軟件成功的關(guān)鍵:團(tuán)隊一致使用某種模式使設(shè)計井形有序,并且使團(tuán)隊成員更容易...
    leeke_81ea閱讀 394評論 0 0
  • 根據(jù)2017年最新版中國互聯(lián)網(wǎng)發(fā)展報告來了,最近十年發(fā)展最快、增長最快的是互聯(lián)網(wǎng)行業(yè)! 2017年最新版中國互聯(lián)網(wǎng)...
    小富哥閱讀 489評論 0 0

友情鏈接更多精彩內(nèi)容