列表反转的方法链接
使用列表时,通常需要创建一个反转副本,而无需显式使用单独的语句。但是,内置的 list.reverse() 方法返回 None 并就地修改列表。
问题
考虑以下代码:
k = ['F', ' ', 'B', 'F'] def solution(formation): return (formation.index(bCamel) > (len(formation) - 1 - (formation.reverse()).index(fCamel))) solution(k)
此代码尝试比较已反转列表中两个字符(bCamel 和 fCamel)的索引。但是,它会引发 AttributeError,因为 list.reverse() 返回 None,将 (formation.reverse()) 保留为 None。
解决方案:使用切片
而不是依靠list.reverse(),可以使用切片来获得反转的list:
reversed_formation = formation[::-1]
语法 [::-1] 反转列表而不就地修改它。然后您可以根据需要使用reverse_formation:
def solution(formation): reversed_formation = formation[::-1] return (formation.index(bCamel) > (len(formation) - 1 - reversed_formation.index(fCamel)))
以上是如何在Python中反转列表而不修改原始列表?的详细内容。更多信息请关注PHP中文网其他相关文章!