1. 程式人生 > 實用技巧 >Python學習系列之列表生成式(十三)

Python學習系列之列表生成式(十三)

列表生成式
列表生成式簡稱”生成列表的公式“

  • 語法格式:

    [ i*i for i in range(1,10)]
  其中i*i表示列表元素的表示式,i是自定義變數,range(1,10)是可迭代物件

注意事項:“表示列表元素的表示式”中通常包含自定義變數

舉例:

#列表生成式
lst=[i for i in range(1,10)]
print(lst)
lst=[i*i for i in range(1,10)]
print(lst)

  執行結果如下:

解析:i for i in range(1,10) 表示的是將for迴圈中i的值賦給第一個i(列表元素表示式),故列表值是1-9。i*i for i in range(1,10) 表示將range(1,10)輸出數值賦值給i,列表的元素表示式是i*i,故輸出結果是各個i乘以自身的值

練習:讓列表中的值是2,4,6,810

#練習,列表中的元素是2,4,6,8,10
lst1=[ i*2 for i in range(1,11)]
print(lst1)
lst2=[ i*2 for i in range(1,6)]
print(lst2)

  執行結果如下:

解析:將range(1,11)中的值賦給i,然後列表中的值是i*2,得出列表的結果是2, 4, 6, 8, 10, 12, 14, 16, 18, 20,但是我們只需要2, 4, 6, 8, 10,則需要將range(1,11)函式改成range(1,6)即可

總結:

  列表生成式用來生成一個自己想要的列表,表示式中包含列表元素表示式和for迴圈