华南俳烁实业有限公司

python

當(dāng)前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

怎么避開(kāi)for循環(huán)在python3代碼中創(chuàng)建列表?

來(lái)源:中華考試網(wǎng)  [2020年12月4日]  【

  看似循環(huán)語(yǔ)句可以簡(jiǎn)單的表述,但是如果完成復(fù)雜的結(jié)果就需要大量的代碼。對(duì)于列表的學(xué)習(xí)想必大家都涉及到了,不過(guò)之前學(xué)的都是用for循環(huán)去處理,今天我們?cè)囍荛_(kāi)for循環(huán),看看其他的代碼如何來(lái)創(chuàng)建列表。

  先看下面的代碼:

  data = [x**2 for x in range(0, 5)]

  # 此時(shí)data = [0, 1, 4, 9, 16]

  如果不知道背后的語(yǔ)法規(guī)則,那么很難理解為什么可以在列表的方括號(hào)中寫(xiě)一個(gè)“for”循環(huán)?實(shí)際上,這種語(yǔ)法稱(chēng)為列表推導(dǎo)式,和lambda表達(dá)式類(lèi)似,都是在代碼很短的情況下被使用。

  列表推導(dǎo)式或者說(shuō)列表解析式是一種非常簡(jiǎn)潔的創(chuàng)建列表的方式。很多時(shí)候我們需要?jiǎng)?chuàng)建一個(gè)滿(mǎn)足特定要求的新列表,不得不用for循環(huán)來(lái)創(chuàng)建,而用列表推導(dǎo)式來(lái)表達(dá)只需要一行代碼即可。列表推導(dǎo)式另一個(gè)優(yōu)點(diǎn)是相比于for循環(huán)更高 效,因?yàn)榱斜硗茖?dǎo)式在執(zhí)行時(shí)調(diào)用的是Python的底層C代碼,而for循環(huán)則是用Python代碼來(lái)執(zhí)行。

python課程免費(fèi)試聽(tīng)預(yù)約

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  比如我們需要?jiǎng)?chuàng)建一個(gè)包含平方數(shù)的列表,用for循環(huán)實(shí)現(xiàn)方式如下:

  squares = []

  for i in range(10):

  squares.append(i**2)

  print(squares)

  如果用列表推導(dǎo)式的話(huà)只需一行代碼即可實(shí)現(xiàn):

  squares = [i**2 for i in range(10)]

  列表推導(dǎo)式的語(yǔ)法結(jié)構(gòu)可以分為幾部分:

  0. “[]”,定義列表的中括號(hào)。

  1. for循環(huán)初步定義列表。

  2. 可選:在for循環(huán)后面可以使用if語(yǔ)句進(jìn)行過(guò)濾。

  3. 在for循環(huán)前定于列表的元素表達(dá)式,可以是任意的表達(dá)式?梢允莊or循環(huán)中的元素本身,也可以是元素進(jìn)行運(yùn)算后的結(jié)果,也可以是元素組成的元祖或者列表,可以是一個(gè)函數(shù),甚至可以是另一個(gè)列表解析式(嵌套列表解析式)。

  4. 可選:在for循環(huán)后面可以再嵌套for循環(huán)。

  如今python編程語(yǔ)言市場(chǎng)需求大,薪資待遇上萬(wàn)盡在咫尺!如果你也想學(xué)習(xí)python技術(shù)可以填寫(xiě)下面表單,Python學(xué)習(xí)資料限時(shí)免費(fèi)領(lǐng)!

責(zé)編:fushihao

上一篇:python對(duì)列表中的元素進(jìn)行去重操作

下一篇: 沒(méi)有了

  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語(yǔ)考試
  • 學(xué)歷考試
商城县| 温泉县| 松滋市| 湾仔区| 宣化县| 满城县| 江城| 道孚县| 福泉市| 梁平县| 水城县| 五常市| 新密市| 军事| 台山市| 和平区| 江北区| 科技| 杭锦后旗| 双鸭山市| 河南省| 修武县| 枝江市| 自治县| 崇文区| 新竹县| 扶风县| 潮安县| 武宁县| 哈尔滨市| 奈曼旗| 娱乐| 讷河市| 旬阳县| 望奎县| 息烽县| 峨山| 新平| 大兴区| 白山市| 青岛市|