#30029: [Python]如何炫技的找"第一個奇數的index"(線性搜尋技巧)


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
f348. 完全偶數 -- 板橋高中教學題 | From: [140.113.236.122] | 發表日期 : 2022-04-22 23:50

# 一些範例的輸入
x = '0246813579' # x有奇數,ans=5
x = '0246802468' # x沒有奇數,ans=None

# 普通的找"第一個奇數的index"(線性搜尋)
ans = None
for idx in range(len(x)):
  if x[idx] in '13579':
    ans = idx
    break

# 炫技的線性搜尋技巧,
# 運用list comprehension與iterator,
# 並且善用next()在找不到值時,可回傳default value
ans = next((idx for idx, c in enumerate(x) if c in '13579'), None)
 
ZeroJudge Forum