Добавление любого количества столбцов в каждом цикле - PullRequest
0 голосов
/ 07 ноября 2018

Пример:

dict1 = ({'ROADS' : ['STREETNAME', 'LEFTFROM', 'LEFTTO', 'RIGHTFROM', 'RIGHTTO'],
            'ITA' :  ['I.ID_BOUND', 'I.BOUND_IDQ']}) 

Примечание

ROADS,ITA файлы остальные их столбцы.

Я хочу сделать сложение, например, concat всех столбцов в каждом файле. Проблема в том, что каждый файл имеет разное количество столбцов.

Как заставить это сделать это с этим?

Обновление

Пояснение:

как заставить добавить любое количество столбцов, которые могут существовать в словаре? Этот следующий пример пытается явно ссылаться на каждый столбец как v [0] и т. Д. Я хочу сделать это независимо от количества столбцов, чтобы он занимал независимо от числа.

Я пытался:

for k,v in dict1.items():
    newfield = v[0] + v[1]

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Проще использовать словарь:

new_dict = {key: ','.join(value) for key, value in dict1.items()}

результатов в: {'ROADS': 'STREETNAME,LEFTFROM,LEFTTO,RIGHTFROM,RIGHTTO', 'ITA': 'I.ID_BOUND,I.BOUND_IDQ'}

или вы можете заменить , в ','.join, чтобы использовать любой разделитель, который вам нравится

Обновление на основе объяснения:

list_fields = [''.join(value) for key, value in dict1.items()]

Результат: ['STREETNAMELEFTFROMLEFTTORIGHTFROMRIGHTTO', 'I.ID_BOUNDI.BOUND_IDQ']

Все еще не уверены, чего вы пытаетесь достичь.

список и словарь традиционно быстрее, чем цикл for

0 голосов
/ 07 ноября 2018

Возможно, это работает:

newfields = {}

for k,v in dict1.items():
    newfields[k] = ''.join(v)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...