如何用Python列表推导式筛选第三个字符为'i'的城市名称列表?
解决方法
直接在列表推导式的条件中先判断城市名称长度是否至少为3,再检查第三个字符是否为'i':
new_list = [word for word in old_list if len(word) >= 3 and word[2] == 'i']
错误原因
你之前的代码触发IndexError,是因为原列表里存在长度不足3的城市名称(比如只有1-2个字符的字符串),直接访问索引2会超出字符串的有效索引范围。先通过len(word) >=3过滤掉这些短字符串,就能安全地检查第三个字符了。
内容的提问来源于stack exchange,提问作者Fran Rodriguez
相关产品推荐
相关产品推荐

