[問題] 超級新手請教python list找到最長字串的

看板Python作者 (LOSER)時間7年前 (2018/03/17 12:07), 編輯推噓2(2013)
留言15則, 5人參與, 7年前最新討論串1/1
如題 如果要在一個串列中找到最長的字串且長度相同時則找index最小的該怎麼簡潔的找 我的作法如下 不過整個錯了… https://imgur.com/a/lR4Ss -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.224.97.78 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1521288457.A.CE0.html

03/17 20:16, 7年前 , 1F
你的return的縮排應該是在for迴圈那層
03/17 20:16, 1F

03/17 22:10, 7年前 , 2F
max(l, key=len)
03/17 22:10, 2F

03/18 16:10, 7年前 , 3F
沒記錯的話 對非數字取max好像key就是len
03/18 16:10, 3F

03/18 16:28, 7年前 , 4F
你記錯了
03/18 16:28, 4F

03/18 17:15, 7年前 , 5F
docs.python.org/3.5/library/functions.html#max
03/18 17:15, 5F

03/18 17:15, 7年前 , 6F
可以參考一下規格書
03/18 17:15, 6F

03/19 01:15, 7年前 , 7F
假設字串list叫s_list
03/19 01:15, 7F

03/19 01:15, 7年前 , 8F
s_len = [ len(s) for s in s_list ]
03/19 01:15, 8F

03/19 01:15, 7年前 , 9F
m = max(s_len)
03/19 01:15, 9F

03/19 01:15, 7年前 , 10F
for i in range(s_len):
03/19 01:15, 10F

03/19 01:15, 7年前 , 11F
\t if s_len[i] == m:
03/19 01:15, 11F

03/19 01:15, 7年前 , 12F
\t\tprint(s_list[i])
03/19 01:15, 12F

03/19 01:15, 7年前 , 13F
\t\tbreak # \t 是縮排
03/19 01:15, 13F

03/19 01:15, 7年前 , 14F
好像有點冗,不過是目前想到的
03/19 01:15, 14F

03/19 02:58, 7年前 , 15F
真的是記錯了 還是得加個key哈哈
03/19 02:58, 15F
文章代碼(AID): #1QhGK9pW (Python)