在python語言中,所謂的列表生成式,就是說可以生成list列表的表示式,是python內建的一種強大的功能。
1.1、python 列表(list)
python裡面[ ] 表示乙個列表
列表是最常用的python資料型別
建立乙個列表,只要把逗號分隔的不同的資料項使用方括號括起來即可。如下所示:
list = [1,2,3,4,5,6,7]序列都可以進行的操作包括索引,切片,加,乘,檢查成員。索引的值從0開始,也可以從最後乙個開始數,那麼最後乙個就是倒數第一,也就是-1,以此類推
list_num = [1, 2, 3, 4, 5, 6, 7]列印結果如下#輸出索引為0的值並列印
(list_num[0])
#輸出索引為-1的值並列印
print(list_num[-1])
#用索引值來修改列表
list_num[3] = 10
#列印列表
print(list_num)
對列表進行切片操作:
list_num = [1, 2, 3, 4, 5, 6, 7]列印結果如下#對列表進行切片操作 切片遵循左閉右開原則
list_num1 = list_num[0:-1]
#列印列表list_num1
print(list_num1)
1.2、快速生成乙個列表
快速生成乙個列表可以用range()函式來生成:
注意:此時提到了rangge函式
概念:range() 函式可建立乙個整數列表,一般用在 for 迴圈中。
range(起始值,終止值,步長) 遵循左閉右開
#輸出結果:使用range()函式快速生成列表
#首先定義乙個空列表
list_num =
#使用for迴圈編列range函式,range函式同樣遵循左閉右開原則
for i in range(0, 10):
##列印列表
print(list_num)
1.2使用列表生成式
列表生成式簡而言之:用乙個表示式即可生成列表
上面我們使用了for迴圈和range函式來快速生成了乙個列表,那麼怎麼用乙個表示式來生成乙個列表呢?下面我們來看看答案:
#輸出結果:首先定義乙個列表
list_a = [1, 2, 3, 4, 5]
#使用列表生成式
list_b =[x for x in
list_a]
#列印列表list_b
print(list_b)
2.案列
1> 已知列表list = ["python","is","easy"]【使用列表生成式實現】,生成乙個新的列表,並且結果大小寫字母互換。
#輸出結果:已知列表list = ["python","is","easy"]【使用列表生成式實現】,生成乙個新的列表,並且結果大小寫字母互換
#首先了解大小寫互換函式
a = '
abcd
'print('
大小寫轉換函式swapcase()')
(a.swapcase())
list_one = ["
python
", "
is", "
easy"]
print('
源列表:
' +str(list_one))
#定義普通轉換方法的函式
defstring_td(a):
list_two =
#普通方法
for i in
a:
return
list_two
print('
下面輸出普通方法(for遍歷)轉換結果:')
#呼叫函式
(string_td(list_one))
#使用列表生成式
print('
下面使用列表生成式轉換:')
list_three = [x.swapcase() for x in
list_one]
print(list_three)
2>如果想對乙個列表裡面的資料篩選,比如:[1, 3, -3, 4, -2, 8, -7, 6],找出大於0的數,按正常思維可以for迴圈挨個判斷,符合條件的放到新的列表
#輸出結果:如果想對乙個列表裡面的資料篩選,比如:[57, 3, -3, 4, 9, -8, 11, -66],找出大於0的數
#按正常思維可以for迴圈挨個判斷,符合條件的放到新的列表
#定義乙個列表
list_a = [57, 3, -3, 4, 9, -8, 11, -66]
#定義乙個空列表,儲存需要的資料
list_b =
#for迴圈遍歷列表list_a
for i in
list_a:
#加入判斷篩選資料
if i >0:
#大於0的資料追加到list_b
#列印list_b
(list_b)
#使用列表生成式
list_c = [x for x in list_a if x >0]
print(list_c)
3>前面兩個案列列表生成式都只傳乙個引數x,如果有兩個列表如何去運算呢?
舉例:a = [1,2,3] b = [ 'a' , 'b' , 'c' ] 生成 ls = [ 'a1' , 'b2' , 'c3 '
先來看看普通for迴圈:
#輸出結果:舉例:a = [1,2,3] b = [ 'a' , 'b' , 'c' ] 生成 ls = [ 'a1' , 'b2' , 'c3 '
a = [1, 2, 3]
b = ['
a', '
b', 'c'
]ls =
#獲取0,1,2,用作原始列表的下標,索引原始列表的元素,以便於操作
for i in range(0, 3):
#int和str不能直接拼接,先將int轉為str
x = b[i] +str(a[i])
print(ls)
使用列表生成式:
#輸出結果:舉例:a = [1,2,3] b = [ 'a' , 'b' , 'c' ] 生成 ls = [ 'a1' , 'b2' , 'c3 '
a = [1, 2, 3]
b = ['
a', '
b', 'c'
]ls =
## 獲取0,1,2,用作原始列表的下標,索引原始列表的元素,以便於操作
#for i in range(0, 3):
## int和str不能直接拼接,先將int轉為str
#x = b[i] + str(a[i])##
print(ls)
#使用列表生成式
ls_1 = [x + str(i) for i, x in
zip(a, b)]
print(ls_1)
待續.....
2019-11-30
01:39:36
Python筆記 列表
python中列表是list,我們可以通過列表的索引獲取相應的元素。list test hello 1,2,3,4.0,5.0,6.0,true,false list test 1 1 list test 0 hello 以上面的list test列表做例子 list test 1 4 1,2,3 ...
Python學習筆記 列表與元組
s cat molle remedy supplement print s 0 a s int 1.0 print a 二維列表 s2 cat vain 1,2,3,4,5 b s2 0 c s2 0 1 print b,c 負數下標 print s 1 s 3 切片print s 0 3 s 1 ...
python列表與列表演算法詳解 2
目錄 操作需求 1 用列表物件記錄三酷貓每天釣魚的種類和數量 2 統計三酷貓所釣水產品的總數量和預計收穫金額 3 列印財務報表一張。三酷貓列表記賬 nums 0 統計數量變數 amount 0 統計金額數量 i 0 迴圈控制變數 fish record 1月1日 鯽魚 18,10.5,1月1日 鯉魚...