2017-11-17 80 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ᴘᴇᴇᴅ,哦,我不知道。 –