2017-11-17 76 views
-3

所以我剛開始學習python,發現這2行代碼用於查找字符串/列表中的多個字母索引。 我很樂意,如果一些你們可以簡化爲我的二號線,需要這段代碼簡化請

text= 'Allowed Hello Hollow' 
print [n for n in xrange(len(text)) if text.find('ll', n) == n] 

我不知道,如果它只是一個快捷方式寫作風格什麼的,但我想它簡化了,謝謝: d

+0

也許嘗試解構列表理解(在'[用於n在... ]'部分)轉換成'for'循環,看看它是怎麼回事? – 2017-11-17 23:46:32

+0

'l = []; (len(text))中的n: if:text.find('ll',n)== n: l.append(n);'then' print l' – davedwards

+0

你應該認真考慮學習Python 3 ,Python 2將在2020年達到其官方報廢。 –

回答

0

這裏的 「簡化」 版本

myList = [] 
for n in xrange(len(text)) : 
    if(text.find('ll', n) == n) : 
     list.append(n) 
print myList 

answer解釋語法

+0

我認爲你有一個錯誤。 'xrange'用於python 2,但'print()'用於python 3.爲python 2或3創建代碼,但不是混合的。 –

+0

@EnderLook您可以在'print'語句中使用圓括號。 –

+0

@cᴏʟᴅsᴘᴇᴇᴅ,哦,我不知道。 –