我对python非常陌生,已经阅读了for loops和del运算符的内容,但我仍然不明白为什么我对以下问题的解决方案不起作用:
问题
给定一个字符串,返回一个由第一个字符开始的其他字符组成的新字符串,这样"Hello"
生成{}。在
string_bits('Hello') → 'Hlo'
string_bits('Hi') → 'H'
string_bits('Heeololeo') → 'Hello'
解决方案
^{pr2}$
这只返回原始字符串的副本,不删除任何内容-为什么不删除范围内的奇数?在
Tags:
你不应该改变你正在迭代的东西。您应该提取所需的数据并将其保存到一个新的变量中并返回该变量。在
首先,字符串是不可变的。其次,在迭代iterable时不应该修改它。在
复制或使用过滤器:
简化版:
^{pr2}$一种更简单、更酷的方法是用extended slice notation:
另外,避免使用
str
这样的名称,您将隐藏有用的内置函数。在字符串是不可变的,这意味着您不能只删除任意字符。在
为了解决你的问题,我会用切片表示法
您可以找到详细信息here。在
相关问题 更多 >
编程相关推荐