2014-10-09 117 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