首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用for循环查找字符串中某个子字符串的所有实例

如何使用for循环查找字符串中某个子字符串的所有实例
EN

Stack Overflow用户
提问于 2019-03-27 04:23:49
回答 3查看 2.3K关注 0票数 0

对于一个学校项目,我必须找到一个字符串中列表元素的所有实例的位置。我没有使用Python的经验,可能因为对if语句、循环、变量和列表的了解有限,所以无法理解如何做到这一点。

到目前为止,我尝试过的唯一方法是使用for循环。我创建了计数器变量"i",对于字符串中的每个listi,我都需要它的位置。在开始查找位置之前,我需要确定字符串中的列表元素。

代码语言:javascript
复制
list1=['a','b','c']
str1='aabfh'
i=0
while "some condition":
    for list1[i] in str1:
        print(list1[i])
    i=i+1

我期望得到如下输出:

代码语言:javascript
复制
a
a
b

但得到的却是:

代码语言:javascript
复制
a
a
b
f
h

我哪里错了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-27 04:35:00

您使用的for循环是错误的。

这将获取字符串中的每个字符,将其分配给x,并打印出来:

代码语言:javascript
复制
for x in 'aabfh':
    print (x)

这将获取字符串中的每个字符,将其分配给list1i,并打印出来:

代码语言:javascript
复制
for list1[i] in 'aabfh':
    print(list1[i])

在您的代码中,如果您查看list1,您会发现它已被更改为'h','h','h‘,因为这是您告诉它要做的事情(或者至少与“某些条件”允许的h一样多)。

票数 1
EN

Stack Overflow用户

发布于 2019-03-27 04:35:19

您的for循环将引发NameError。你不能像那样在for循环中访问列表的元素。将其更改为以下内容,以打印所需的输出:

代码语言:javascript
复制
for char in str1:
    if char in list1:
        print(char)

a
a
b

要打印它的位置,可以使用index

代码语言:javascript
复制
for char in str1:
    if char in list1:
        print(list1.index(char))

0
0
1
票数 0
EN

Stack Overflow用户

发布于 2019-03-27 04:53:44

你的代码有相当多的问题。

正如@Kenny Ostrom在他的回答中指出的那样,你的for格式是错误的。

for循环的格式为:

代码语言:javascript
复制
for new_variable_name in list:
    print(new_variable_name)

new_variable_name分配给该列表中的每一项

for循环遍历列表中的每一项一次。在你的情况下

代码语言:javascript
复制
for char in str1
    print(char)

将打印

代码语言:javascript
复制
a
a
b
f
h

您遇到的另一个问题是不必要的while循环。您将for循环包围在一个while循环中,该循环将继续运行而不会停止。如果您没有for循环,这可能对您很有用,但因为您已经在使用for循环,所以没有必要这样做。

如果你想使用for循环,你程序的结构应该是这样的:

代码语言:javascript
复制
list1=['a','b','c']
str1='aabfh'
i=0
for character in str1:
   '''
   Some code here that figures out **if** the character is in list1 and then prints that character. 
   '''

您应该能够从这里弄清楚这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55365658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档