我只想知道如何使用 for 回圈向后迭代串列。請看下面的代碼。
mystring="My name is Rohit Kaushik. Rohit loves to play cricket"
mylist=mystring.split(' ')
for i in mylist:
for j in ?
在 J 回圈中,我想檢查 i 回圈中包含的單詞的出現讓我們考慮一下
當i達到的索引5(即第二次出現Rohit)時,我想運行j回圈以檢查Rohit之前是否在 mylist 中發生過,并檢查我是否需要j向后運行回圈mylist。如果之前發生過 Rohit,我想打破回圈。
請幫忙。
PS - 我對 Python 很陌生,請不要對這個問題投反對票
uj5u.com熱心網友回復:
您不需要回圈,使用in運算子來測驗串列的一部分。
for i, word in enumerate(mylist):
if word in mylist[:i]:
// do something
i是串列中的當前索引,并且mylist[:i]是在此之前的串列切片。
但不是搜索串列,您可以將每個單詞放在 a 中set,然后檢查該單詞是否在其中。搜索集合比搜索串列更快。
word_set = set()
for word in mylist:
if word in word_set:
// do something
word_set.add(word)
uj5u.com熱心網友回復:
盡管您不需要,但如果您真的想反向執行 for 回圈,您可以執行以下操作:
for x in range(len(mylist)-1, -1, -1):
print(mylist[x])
# Do something else
uj5u.com熱心網友回復:
你可以這樣做:
mystring="My name is Rohit Kaushik. Rohit loves to play cricket"
mylist=mystring.split(' ')
mySet=set()
for i in mylist:
if i in mySet:
break;
else:
mySet.add(i);
這將減少執行時間,因為我們不需要遍歷陣列中所有先前的值來檢查它已經發生的天氣。Set 將允許您檢查天氣或當前元素是否在恒定時間內發生過,即 O(1) 上述程式的總體時間復雜度為 O(n)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/495148.html
標籤:Python python-3.x 列表 循环 for循环
