在python字符串中的特定范围内迭代



我很难弄清楚如何在python中迭代字符串。我的目标是迭代到字符串中的某个点,并删除该迭代点之后的其余元素,只处理子字符串。

假设我有一个字符串,比如str1:str1 = "8493 2020"我有一个数字来指定我想要迭代的距离,比如a = 4

如何在str1上迭代到a,然后删除a之后的所有字符?

我尝试过,但得到了一个语法错误"TypeError:'str'对象不可调用":

for i in str1(range(a)): 
    print i 

您可以对切片进行迭代。

>>> str1 = "8493 2020"
>>> a = 4
>>> for i in str1[:a]:
        print i

8
4
9
3

如果您需要创建一个新字符串,只需执行.即可

>>> b = str1[:a]
>>> b
'8493'

迭代到所需索引:

>>> str1 = "8493 2020"
>>> a = 4
>>> for i in str1[:a]:
...     print i
...
8
4
9
3

删除该索引之前的所有内容:

>>> str1 = str1[:a]
>>> str1
'8493'
s = 'my string'
stop_idx = 3
print s[:stop_idx] # prints "my "
for i in str1:
   if i == a:
       x = str1[a+1:]

这将生成一个新的字符串x,而不包含该字符串中不需要的部分。字符串是不可变的,因此您需要创建一个新的字符串。

最新更新