我有一個按字母順序排序為“str”的城市名稱串列,我想使用串列理解創建另一個新串列,將那些帶有“i”的城市名稱作為他的第三個字符。
我嘗試了很多東西,但對我來說最直觀的是:
`new_list = [word for word in old_list if word[2] == 'i']
我不知道為什么,但得到這個錯誤:
IndexError= string index out of range
我希望得到類似的東西:
new_list = ['Beijing', 'Idil', 'Zhitiqara', ...]
它必須使用串列理解。
uj5u.com熱心網友回復:
你的一些詞有兩個字符。您應該只將此規則應用于三個或更多字符的單詞。
做:
new_list = [word for word in old_list if len(word) >= 3 and word[2] == 'i']
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/522483.html
標籤:Python列表列表理解
下一篇:在螢屏上只顯示一個值的問題
