2

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

假设我有一个字符串,比如说 str1:str1 = "8493 2020" 我有一个数字,它指定我想要迭代多远,比如说a = 4

如何遍历 str1 直到 a - 然后删除 a 之后的所有字符?

我试过了,但出现“TypeError:'str' object is not callable”的语法错误:

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

4 回答 4

4

你可以遍历一个切片。

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


8
4
9
3

如果您需要创建一个新字符串,只需执行此操作。

>>> b = str1[:a]
>>> b
'8493'
于 2013-08-15T20:18:04.290 回答
1
for i in str1:
   if i == a:
       x = str1[a+1:]

这将创建一个新的字符串 x 没有字符串中不需要的部分。字符串是不可变的,因此您需要创建一个新字符串。

于 2013-08-15T20:18:52.653 回答
1

迭代到所需的索引:

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

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

>>> str1 = str1[:a]
>>> str1
'8493'
于 2013-08-15T20:19:44.990 回答
0
s = 'my string'
stop_idx = 3
print s[:stop_idx] # prints "my "
于 2013-08-15T20:18:15.843 回答