以下代碼Ruby代碼將迭代源字符串並生成由'。'分隔的累積字詞列表。字符,除了最後一個'。'之後的字符。Ruby代碼的慣用Python版本,帶有一個用於測試語句的while循環?
例如,給 'Company.Dept.Group.Team' 的源串,結果將是... [ 「Company.Dept.Group」, 「Company.Dept」, 「公司」]
鑑於Python中的while循環(我相信)只會測試一個表達式而不是如下所示的語句,那麼最好如何在慣用Python中編寫它?
#ruby
source = 'Company.Dept.Group.Team'
results = []
temp = source.clone
while (i = temp.rindex('.')) # test statement not supported in Python?
temp = temp[0...i]
results << temp
end
p results # >> ["Company.Dept.Group", "Company.Dept", "Company"]
是的,據我所知,Python中不允許assigments中,如果條件......這可能是這種方便的事情的時候。 – moooeeeep 2012-03-13 22:12:00