看板 Python 關於我們 聯絡資訊
各位先進大家好! 寫題目時遇到一個問題 題目大意是: "一個list (如s = [[0, 21], [1, 23], [1, 21], [0, 23]]) 如果某兩項的s[i][1]一樣,s[i][0]為一個0一個1,就可以配成一對; 若所有s內的item皆可兩兩配對,則回應True;不能則False" 看到許多人的解答是 def solution(s): return all([s.count(i)==s.count([1-i[0],i[1]]) for i in s]) 想請問的是 s.count([1-i[0],i[1]]) 計算的count是什麼? 如果要搜尋相關資料,google關鍵字要找什麼? 先向大家謝過了! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.165.64 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1731385043.A.730.html
saxontai: 查官方文件即可 https://reurl.cc/ly3xMd 11/12 12:34
mantour: i用s的item一個一個代進去不就知道是什麼了 11/13 00:54
mantour: 比如 i=[0,21]時 判斷式就是s.count([0,21])==s.count([ 11/13 00:56
mantour: 1,21]) 11/13 00:56
mantour: 也就是s裡面的[0,21]的個數和[1,21]的個數是否相同 11/13 00:57
lycantrope: 爛code就不要學了 11/13 07:32
Yshuan: 是要挑戰一行文嗎? 不然這樣寫就是殘害讀者腦細胞 11/14 09:58
klao: 感謝所有回覆的版友!mantour大大讓我知道我之前到底誤會什 11/14 15:40
klao: 麼了!但是說實在很多一行code真的都要想一下到底在說什麼 11/14 15:40
mantour: all() 裡面是一個 list comprehension 我想你可能是 11/15 23:24
mantour: 這邊沒看清楚 11/15 23:24
klao: 沒錯!真的感謝大大的提點! 11/17 12:37