2014-10-09 213 views
0

我想知道是否有一種方法可以通過查找另一個唯一字母的唯一字母來切割400個字母長的字符串。而不必依靠那封信來找到它的數字地方。Python 2.7.8字符串切片?

list = [ep72lwnVSUxlGNPython7cyEKZjBqnQOfFwAB7O19FBlcSIuNXj24NfL0XyZTNL4ynjMFMY1CoOWhc5Rs9NlMCYSv4oIZruJ6ulJQjEJ7wLdt1qrEAPH5EstellatumefwuseFxELh7hHAtecwRLYeyShpFaodZBDekTiq6dIa6pSWNskixhZLab. 
14 19 118 126] 
+1

能否請你解釋一下?示例輸入和輸出將很有用。 – damgad 2014-10-09 12:19:20

+0

鑑於:長度最多爲200個字母的字符串s和四個整數a,b,c和d。 返回:從索引a到b和c到d(包含空格)之間的這個字符串的切片。 – 2014-10-09 12:21:09

+0

so ...'return s [a:b + 1] + s [c:d + 1]'? 「獨特的字母」部分在哪裏進來? – Kevin 2014-10-09 12:26:31

回答

0

這個問題的措辭很有趣,但我想出了你的傢伙的幫助。

data = 'ep72lwnVSUxlGNPython7cyEKZjBqnQOfFwAB7O19FBlcSIuNXj24NfL0XyZTNL4ynjMFMY1CoOWhc5Rs9NlMCYSv4oIZruJ6ulJQjEJ7wLdt1qrEAPH5EstellatumefwuseFxELh7hHAtecwRLYeyShpFaodZBDekTiq6dIa6pSWNskixhZLab'

data[14:19+1] + " " + data[118:126+1] 

產量

+0

你究竟發現了什麼問題?你的回答有什麼新東西嗎? – damgad 2014-10-27 13:56:42

+0

這是一個串聯字符串在一個範圍內的字符串中的兩個範圍之間進行切片錯誤,並在兩個範圍之間爲答案添加一個空格。 – 2014-10-28 15:58:23

0

如果我corretly明白:

data = 'ep72lwnVSUxlGNPython7cyEKZjBqnQOfFwAB7O19FBlcSIuNXj24NfL0XyZTNL4ynjMFMY1CoOWhc5Rs9NlMCYSv4oIZruJ6ulJQjEJ7wLdt1qrEAPH5EstellatumefwuseFxELh7hHAtecwRLYeyShpFaodZBDekTiq6dIa6pSWNskixhZLab' 
indices = [14, 19, 118, 126] 

,將爲即使你要工作超過2串

print " ".join([ data[indices[2*i]:indices[2*i+1]+1] for i in range(0,len(indices)/2)]) 

或者(如果你總是有4個(如indices=[14, 19, 118, 126, 140, 145]。)指數):

print data[indices[0]:indices[1]+1] + " " + data[indices[2]:indices[3]+1] 
+0

在你的數據字符串中確定說我想從一個只發生一次的信到另一個字母只發生一次。 – 2014-10-09 12:48:07

+0

仍然不是很清楚,但您可以通過以下方式獲得僅出現一次的字母索引: 'f = filter(lambda x:data.count(x)== 1,data) indices = map(lambda x:data .find(x),f) print indices'。你會得到[7,9,12,24,56,88,126,160,183]。 – SukkoPera 2014-10-09 13:19:30