-1

我只是在 python 的初学者 cmpt 课程中,只是在学习列表。我们的问题之一是创建一个函数来接收这样的东西(可能不止2个值)['15--356', '9--24'] 并创建这个[15, 9, -1, 356, 24] 其中 -1 始终是中间值。

我真的迷失了如何做到这一点。一点指导将不胜感激。

4

2 回答 2

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]
于 2013-11-15T06:37:02.837 回答
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)
于 2013-11-15T06:39:42.313 回答