Re: [問題] 如何去除迴圈後多餘的東西
講解一下 list comprehension
res = [i.get("name") for i in a]
等同於
res = []
for i in a:
temp = i.get("name")
res.append(temp)
其實就是map的機制
任何可以 iteration 的東西 可以使用這個機制做一些處理
例如說 [f"Hello, {i}" for i in ["Jack", "Mary"]]
除了map 還可以做filter
# 輸出100以內的偶數
[i for i in range(100) if i%2==0]
# 輸出字串裡面有Doctor的字串
[i for i in ["Doctor X","Doctor Y", "teacher"] if "Doctor" in i]
再來更多變化
# 輸出100以內的偶數 並且如果小於50的值都設為0
[i if i > 50 else 0 for i in range(100) if i%2==0]
# 99乘法表
[f"{i}X{j}={i*j}" for i in range(1,10) for j in range(1,10)]
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.65.79 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1575529336.A.38B.html
推
12/05 19:18,
5年前
, 1F
12/05 19:18, 1F
推
12/06 04:19,
5年前
, 2F
12/06 04:19, 2F
推
12/06 04:43,
5年前
, 3F
12/06 04:43, 3F
→
12/06 04:44,
5年前
, 4F
12/06 04:44, 4F
推
12/06 05:05,
5年前
, 5F
12/06 05:05, 5F
推
12/06 18:29,
5年前
, 6F
12/06 18:29, 6F
→
12/06 18:30,
5年前
, 7F
12/06 18:30, 7F
→
12/06 18:31,
5年前
, 8F
12/06 18:31, 8F
→
12/06 18:32,
5年前
, 9F
12/06 18:32, 9F
→
12/06 18:33,
5年前
, 10F
12/06 18:33, 10F
→
12/06 18:33,
5年前
, 11F
12/06 18:33, 11F
→
12/06 18:34,
5年前
, 12F
12/06 18:34, 12F
推
12/06 20:12,
5年前
, 13F
12/06 20:12, 13F
→
12/06 20:12,
5年前
, 14F
12/06 20:12, 14F
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章