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

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

獲取包含給定子字符串的所有元素的索引

獲取包含給定子字符串的所有元素的索引

飲歌長嘯 2022-12-06 16:42:58
我正在嘗試獲取與中特定條件匹配的所有元素的索引my_list。my_list = ['This is chapter 1', 'chapter 2 is here', 'Baseball Sport', 'Football Sport', 'chapter 13']我想獲取my_list包含 string的元素的所有索引'chapter'。我已經嘗試過列表理解,但我還是新手,所以沒有成功。search = 'Chapter'for k in range(len(my_list)):    search_list = [i for i, search in enumerate(my_list)                   if search.lower() in my_list[k]]我可能在這里犯了一些無法識別的錯誤。我怎樣才能得到我想要的指數結果?search_list = [0, 1, 4]
查看完整描述

4 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

主要問題是您search在列表理解中重新定義并且正在使用它的新定義。你想要的是這樣的:


my_list = ['This is chapter 1', 'chapter 2 is here', 'Baseball Sport', 'Football Sport', 'chapter 13']

search = 'chapter'

results = [i for i, item in enumerate(my_list) if search in item]

旁注:

  1. 如果你有能力定義自己,那么定義它并每次調用它search是沒有意義的。從一開始就將其定義為instead。"Chapter".lower()"chapter"

  2. 列表推導式取代了顯式的 for 循環。在這種情況下,兩者都是錯誤的。您只需要在列表上循環一次。

  3. enumerate用于避免索引 ( my_list[k])。你在這里使用是正確的enumerate;所以使用它。


查看完整回答
反對 回復 2022-12-06
?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

你可以這樣做


my_list = ['This is chapter 1', 'chapter 2 is here', 'Baseball Sport', 'Football Sport', 'chapter 13']


search = "chapter"


search_list = [index for index, val in enumerate(my_list) if search in val]

這給出了輸出


[0, 1, 4]

這是您想要的輸出恕我直言。我希望它有所幫助 :)


查看完整回答
反對 回復 2022-12-06
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

你可以這樣做:


my_list = ['This is chapter 1', 'chapter 2 is here', 'Baseball Sport', 'Football Sport', 'chapter 13']


search = 'Chapter'

search_list = []

for i, k in enumerate(my_list):

  if search.lower() in k:

    search_list.append(i)

print(search_list)


查看完整回答
反對 回復 2022-12-06
?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

我會這樣做:


my_list = ['This is chapter 1', 'chapter 2 is here', 'Baseball Sport', 'Football Sport', 'chapter 13'] 


search = 'Chapter'


search_list = [i for i, str_to_search in enumerate(my_list) if search.lower() in str_to_search]




查看完整回答
反對 回復 2022-12-06
  • 4 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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