国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

python之列表推導式的用法

2024-09-09 19:02:53
字體:
來源:轉載
供稿:網友

1. 定義

用一行構建代碼

例題

# 構建一個1-100的列表l1 = [i for i in range(1,101)]print(l1)# 輸出結果[1,2,3,4,5,6,...100]

2. 兩種構建方式

2.1 循環模式: [變量(加工后的變量) for 變量 in iterable]

例題

1. 將10以內所有整數寫入列表

print([i for i in range(1,11)])# 輸出結果[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

2. 將10以內所有整數的平方寫入列表。

print([i**2 for i in range(1, 11)])

3. 100以內所有的偶數寫入列表.

print([i for i in range(2, 101, 2)])

4. 從python1期到python100期寫入列表list

print([f'python{i}期' for i in range(1, 101)])

練習題

l1 = [i*i for i in range(1,11)]print(l1)l2 = [i for i in range(1,101) if i % 2 == 0]print(l2)l3 = [f'python{i}期' for i in range(1,101)]print(l3)

2.2 篩選模式: [變量(加工后的變量) for 變量 in iterable if 條件] 增加一個判斷

例題

# 構建一個列表,要求元素大于4print([i for i in range(11) if i > 4])# 輸出結果:[5, 6, 7, 8, 9, 10]

練習題

1. 10以內大于4的數

# print([i for i in range(11) if i > 4])print([i for i in range(1,31) if i % 3 == 0])

2. 30以內可以被三整除的數。

# 過濾掉長度小于3的字符串列表,并將剩下的轉換成大寫字母l1 = ['太白金星', 'fdsaf', 'alex', 'sb', 'ab']l2 = [i.upper() for i in l1 if len(i) > 3]print(l2)

3. 找到嵌套列表中名字含有兩個‘e'的所有名字(有難度)

names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],     ['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]# 方法一: 普通方法l4 = []for i in names:  for j in i:    if j.count('e') >= 2:      l4.append(j)print(l4)# 方法二: 列表推導式方法print([j for i in names for j in i if j.count('e') >= 2 ])

3. 列表推導式的優缺點

優點:
​ 簡單,快捷,裝b

缺點:
​ 可讀性不高,不好排錯

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網之家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新乐市| 西青区| 沛县| 靖安县| 绿春县| 台湾省| 榕江县| 永丰县| 潼南县| 喀喇沁旗| 景宁| 嘉禾县| 射洪县| 互助| 独山县| 金山区| 普兰县| 武冈市| 米易县| 鹰潭市| 宁安市| 晴隆县| 天等县| 铁力市| 谢通门县| 河北区| 马鞍山市| 黄冈市| 阿拉善左旗| 南澳县| 德江县| 离岛区| 耿马| 治多县| 新和县| 英吉沙县| 辰溪县| 梧州市| 波密县| 濉溪县| 安龙县|