亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用for循環查找字符串中子字符串的所有實例

如何使用for循環查找字符串中子字符串的所有實例

夢里花落0921 2021-12-17 10:08:04
對于學校項目,我必須找到字符串中所有列表元素實例的位置。我對 Python 缺乏經驗,可能根本不了解如何在對 if 語句、循環、變量和列表的了解有限的情況下做到這一點。到目前為止,我嘗試過的唯一方法是使用 for 循環。我創建了計數器變量“i”,對于字符串中的每個 list[i],我都需要它的位置。在開始查找位置之前,我需要識別字符串中的列表元素。list1=['a','b','c']str1='aabfh'i=0while "some condition":    for list1[i] in str1:        print(list1[i])    i=i+1我期望輸出如下:aab而是得到:aabfh我哪里做錯了?
查看完整描述

3 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

您使用的 for 循環錯誤。


這將獲取字符串中的每個字符,將其分配給 x,并打印出來:


for x in 'aabfh':

    print (x)

這將獲取字符串中的每個字符,將其分配給 list1[i],并打印出來:


for list1[i] in 'aabfh':

    print(list1[i])

在您的代碼中,如果您查看 list1,您會發現它已更改為 ['h', 'h', 'h'] 因為這是您告訴它執行的操作(或至少與“some條件”將允許)。


查看完整回答
反對 回復 2021-12-17
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

您的代碼有很多問題。


正如@Kenny Ostrom 在他的回答中指出的那樣,您的for格式是錯誤的。


for循環的格式是:


for new_variable_name in list:

    print(new_variable_name)

new_variable_name 分配給該列表中的每個項目


for循環遍歷列表中的每個項目一次。在你的情況下


for char in str1

    print(char)

會打印


a

a

b

f

h

您遇到的另一個問題是不必要的while循環。您將for循環環繞在一個while循環中,該循環將繼續運行且不會停止。如果您沒有for循環,這可能對您有用,但沒有必要,因為您已經在使用for循環。


如果您想使用 for 循環,您的程序結構應該如下所示:


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. 

   '''

你應該能夠從這里弄清楚這一點。


查看完整回答
反對 回復 2021-12-17
?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

你的 for 循環 raise NameError。您無法像那樣訪問 for 循環中的列表元素。將其更改為這個以打印您想要的輸出:


for char in str1:

    if char in list1:

        print(char)


a

a

b

要打印其位置,您可以使用index:


for char in str1:

    if char in list1:

        print(list1.index(char))


0

0

1


查看完整回答
反對 回復 2021-12-17
  • 3 回答
  • 0 關注
  • 318 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號