我很难弄清楚如何在python中迭代字符串。我的目标是迭代到字符串中的某个点,并在该迭代点之后删除其余元素,然后使用子字符串。
假设我有一个字符串,比如str1:str1 = "8493 2020"
我有一个数字,指明我想要迭代多远,比如a = 4
如何将str1迭代到a - 然后删除所有字符?
我试过这个但是得到了一个语法错误“TypeError:'str'对象不可调用”:
for i in str1(range(a)):
print i
答案 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 "