У меня есть упорядоченный словарь, как следующее:Вставить номер в список
source =([('a',[1,2,3,4,5,6,7,11,13,17]),('b',[1,2,3,12])])
Я хочу первым вычислить длину значения каждого ключа, а затем вычислить sqrt
его, говорят, что это L.
Вставьте L в положение, которое можно разделить без остатка, и вставить «1» после другого номера.
Например, source['a'] = [1,2,3,4,5,6,7,11,13,17]
длина его равна 9. Таким образом, SQRT из len(source['a'])
равно 3.
Вставить номер 3 в положении, которое может быть разделено на 3 точно (например. Положении 3, положении 6, положении 9) если положение номера не может быть разделено точно на 3, тогда вставьте 1 после него.
Чтобы получить результат, как folloing:
result=([('a',["1,1","2,1","3,3","4,1","5,1","6,3","7,1","11,1","13,3","10,1"]),('b',["1,1","2,2","3,1","12,2"])]
Я не знаю, как изменить элемент в списке в строку пары. Кстати, это не мое домашнее задание, я пытался построить логический механизм восстановления, исходные данные слишком велики, поэтому я просто создал простой пример, чтобы объяснить, что я хочу достичь :)
Если это стандартный словарь Python, то он не упорядочен. Вам нужно использовать collection.OrderedDict (может быть, вы это делаете?). – uselpa
Это всегда хорошая идея, чтобы показать нам, что вы пытались или что, по вашему мнению, может решить проблему, даже если это совершенно неправильно. – Kev