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

时间:2013-08-15 20:16:30

标签: python

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

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

如何将str1迭代到a - 然后删除所有字符?

我试过这个但是得到了一个语法错误“TypeError:'str'对象不可调用”:

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

4 个答案:

答案 0 :(得分:4)

您可以迭代切片。

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


8
4
9
3

如果您需要创建一个新字符串,请执行。

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

答案 1 :(得分:1)

for i in str1:
   if i == a:
       x = str1[a+1:]

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

答案 2 :(得分:1)

迭代到所需的索引:

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

删除指向该索引的所有内容:

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

答案 3 :(得分:0)

s = 'my string'
stop_idx = 3
print s[:stop_idx] # prints "my "