-1
我只是在Python的初學者cmpt課程,只是學習列表。我們的問題之一是做一個功能,將接收這樣的東西(可能有不止2個值) ['15 - 356','9--24'] 並創建此 [15,9, -1,356,24] 其中-1總是中間值。操縱列表中的字符串
我真的失去了如何做到這一點。一點指導將非常感激。
我只是在Python的初學者cmpt課程,只是學習列表。我們的問題之一是做一個功能,將接收這樣的東西(可能有不止2個值) ['15 - 356','9--24'] 並創建此 [15,9, -1,356,24] 其中-1總是中間值。操縱列表中的字符串
我真的失去了如何做到這一點。一點指導將非常感激。
事情是這樣的:
>>> 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]
使事情額外明確:
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)