subsetX是一個有重複值的list (Name重複了5次):
['Name',
'Layer Name for DDR',
'Impedance (Ohms) 1 for DDR',
'IL (dB) 1 for DDR',
'Impedance (Ohms) 2 for DDR',
'IL (dB) 2 for DDR',
'Impedance (Ohms) 3 for DDR',
'IL (dB) 3 for DDR',
'Impedance (Ohms) 4 for DDR',
'IL (dB) 4 for DDR',
'Total Area (sq mils) for DDR',
'Line Width 1 (mils) for DDR',
'Length at Width 1 (mils) for DDR',
'Line Width 2 (mils) for DDR',
'Length at Width 2 (mils) for DDR',
'Line Width 3 (mils) for DDR',
'Length at Width 3 (mils) for DDR',
'Line Width 4 (mils) for DDR',
'Length at Width 4 (mils) for DDR',
'Name',
'Layer Name',
'Total Area (sq mils)',
'Line Width 1 (mils)',
'Length at Width 1 (mils)',
'Line Width 2 (mils)',
'Length at Width 2 (mils)',
'Line Width 3 (mils)',
'Length at Width 3 (mils)',
'Line Width 4 (mils)',
'Length at Width 4 (mils)',
'Line Width 5 (mils)',
'Length at Width 5 (mils)',
'Line Width 6 (mils)',
'Length at Width 6 (mils)',
'Line Width 7 (mils)',
'Length at Width 7 (mils)',
'Line Width 8 (mils)',
'Length at Width 8 (mils)',
'Name',
'Total Vias',
'Via Names',
'Via1 FHS(mils)',
'Via2 FHS(mils)',
'Name',
'Tab Number',
'Name',
'VIA Length',
'Via length 1 (mils)',
'Via length 2 (mils)',
'Board thickness',
'Via stub 1 (mils)',
'Via stub 2 (mils)']表達式解析:
[print(col) for col in subsetX if subsetX.count(col) >= 2]if 放在後面 (過濾條件)
當 if 條件放在列表推導式的後面時:
特點: 可能會跳過某些元素
功能: 它是一個過濾器,決定哪些元素會進入推導式
作用: 只有符合條件的元素才會被處理
[表達式 for 變量 in 可迭代對象 if 條件]例如上面的代碼只會對那些在 subsetX 中出現 2 次或更多的元素執行 print()

if 放在前面 (三元運算符)
當 if 條件放在列表推導式的前面時:
- 功能: 它是一個選擇器,決定對每個元素執行哪個表達式
- 作用: 所有元素都會被處理,但會根據條件執行不同的操作
- 特點: 必須搭配
else使用
[表達式A if 條件 else 表達式B for 變量 in 可迭代對象]
[print(col) if subsetX.count(col) >= 2 else print(f"{col} 只出現一次") for col in subsetX]輸出結果:

比較:

實用建議
在這個特定情況下,列表推導式主要用於打印操作,會產生一個包含 None 值的無用列表。如果只是為了打印,用普通的 for 循環會更清晰:
for col in subsetX:
if subsetX.count(col) >= 2:
print(col)或者,使用 set 來避免重複打印:
for col in set(subsetX):
if subsetX.count(col) >= 2:
print(f"{col} appears {subsetX.count(col)} times")推薦hahow線上學習python: https://igrape.net/30afN
![使用 Python 檢驗字符串格式:掌握正則表達式(Regular Expression)的起始^與終止$符號, pattern = r’^GATR[0-9]{4}$’ 使用 Python 檢驗字符串格式:掌握正則表達式(Regular Expression)的起始^與終止$符號, pattern = r’^GATR[0-9]{4}$’](https://i2.wp.com/savingking.com.tw/wp-content/uploads/2024/07/20240712093637_0.png?quality=90&zoom=2&ssl=1&resize=350%2C233)

![Python Pandas GroupBy 的 size 陷阱:為什麼你的計數結果總是不對?如何計算重複次數? duplicates = df.duplicated( subset = [‘name’] ) Python Pandas GroupBy 的 size 陷阱:為什麼你的計數結果總是不對?如何計算重複次數? duplicates = df.duplicated( subset = [‘name’] )](https://i1.wp.com/savingking.com.tw/wp-content/uploads/2025/06/20250609143758_0_53821c.png?quality=90&zoom=2&ssl=1&resize=350%2C233)
![Python: 資料格式如 List[dict],如何快速將SN加入每一個dict中,以利Excel輸出?如何解包dict? **dict ; 將List[dict]的資料轉為pandas.DataFrame 長什麼樣子? Python: 資料格式如 List[dict],如何快速將SN加入每一個dict中,以利Excel輸出?如何解包dict? **dict ; 將List[dict]的資料轉為pandas.DataFrame 長什麼樣子?](https://i0.wp.com/savingking.com.tw/wp-content/uploads/2024/02/20240208093926_0.png?quality=90&zoom=2&ssl=1&resize=350%2C233)






近期留言