2016-06-20 100 views
-1

給定一個帶有密碼字母的字符串,我不能確定下面的程序明確在做什麼。我知道它貫穿整個絃樂,但它究竟做了什麼?Python:翻譯程序

s = "AVGGGKGDEMAWTWVRPMGVIDWEEGGVKLVAGLLP" 

[i for i in range(1,len(s)) if s[i] in 'VE' and s[i-1]!= 'W'] ? 

答案是[5,28]。

+2

如果當前字符是V或E和一個之前,它是不W,保存字符的索引(位置) 。嘗試再次運行它。我得到的答覆是'[1,8,19,24,27,30]'。 – pushkin

+0

非常感謝!你是對的...我複製粘貼錯誤的字符串...我嘗試運動,並且放了一個不同的字符串。你是對的。這就是答案。 –

回答

1

這個列表解析字符串通過雲s一個索引的時間和檢查兩個條件:

  • 是在字符串中'VE'指數i的性格嗎?
  • 索引號i處的字符之前的字符是否不等於'W'

如果兩個那些條件True然後i被添加到一個新的列表(其在此實例不被保存)。

輸出告訴你索引5和索引28中的字符符合這些條件(儘管對於這個字符串輸出似乎並不正確)。記住字符串是0索引的,這意味着字符串的第一個字母可以通過s[0]訪問。

附加信息:

+0

非常感謝你!你是對的...我複製粘貼錯誤的字符串...我嘗試運動,並且放了一個不同的字符串。 –

+0

如果這個答案幫助你,請考慮接受它作爲答案。你可以通過點擊複選標記。 – IanAuld