操纵列表中的字符串

时间:2013-11-15 06:30:28

标签: python string list

我只是在python的初学者课程中,只是学习列表。我们的一个问题是创建一个能够收到这样的函数的函数(可能只有2个值) ['15 --356','9--24'] 并创造这个 [15,9,-1,356,24] 其中-1将始终为中间值。

我真的迷失了如何做到这一点。我们非常感谢您的一点指导。

2 个答案:

答案 0 :(得分:2)

这样的事情:

>>> lis = ['15--356', '9--24']
>>> new_lis = [int(z) for x in zip(*(y.split('--')for y in lis)) for z in x]
>>> new_lis
[15, 9, 356, 24]
>>> new_lis.insert(len(new_lis)/2, -1)
>>> new_lis
[15, 9, -1, 356, 24]

答案 1 :(得分:0)

使事情更明确:

step1 = [x.split('--') for x in input_list]
step2 = [int(elem) for sublist in step1 for elem in sublist] #or itertools.chain
halfway = len(step2) // 2 #python3 syntax
step2.insert(halfway,-1)