У меня есть словарь со списками значений. Длина списков не должна быть больше 2. Что мне нужно сделать, это объединить элементы списка, начиная со второго элемента, и соединиться со следующим элементом, пока длина списка не станет равной 2. Моя попытка ниже работает, но она кажется, что это можно сделать проще, и я просто не вижу этого.
testDict = {'60075566': ['A', u'foo'],
'60074783': ['B', u'one', u'two', u'three', u'four', u'five'],
'60069249': ['C', u'test1', u'test2', u'test3'],
'60075936': ['D', u'bar'], '60073582': []}
for key in testDict:
while len(testDict[key]) > 2:
dataSave = testDict[key][0] #####save first element of the dictionary value#######
newList = testDict[key] #####create new list of values to change#######
newList.pop(0) #####pop the first element, previosuly saved#####
newData = ','.join(newList ) #####Join remaining elements#####
testDict[key] = [dataSave, newData] #####Replace old value with new value
Выше ответ дает ответ, но я чувствую, что его можно улучшить:
{'60069249': ['C', u'test1,test2,test3'], '60075566': ['A', u'foo'], '60075936': ['D', u'bar'], '60074783': ['B', u'one,two,three,four,five'], '60073582': []}