Я хочу создать Dict с 2 значениями для каждого ключа.Я не знаю, лучше ли сделать значения для каждого ключа списком или другим словарем.Но, в конечном счете, я хочу пройти по каждому ключу только один раз, а затем в цикле каждого ключа пройти по 2 элементам в значении (последовательно).
У меня есть этот код:
dic = {'%serial_number%':['SERIAL_NUMBER :: (\w+)','number'],'%sw_version%':['SW_VERSION :: HR6400 ([\d\.\-]+)','ver']}
def match_regex(text):
for k,v in dic.iteritems():
for v1 in v:
print(text,k,text,v1[0],v1[1])
match_regex(df.value)
Который выводит следующее:
(Column<value>, '%sw_version%', Column<value>, 'S', 'W')
(Column<value>, '%sw_version%', Column<value>, 'v', 'e')
(Column<value>, '%serial_number%', Column<value>, 'S', 'E')
(Column<value>, '%serial_number%', Column<value>, 'n', 'u')
Вывод, который мне БЫ ХОТЕЛ, будет выглядеть так:
(Column<value>, '%serial_number%', Column<value>, 'SERIAL_NUMBER :: (\w+)', 'number')
(Column<value>, '%sw_version%', Column<value>, 'SW_VERSION :: HR6400 iDirect ([\d\.\-]+)', 'ver')
Я использую PySpark, но это не должно иметь значения,это Python 2.7.ФУНКЦИЯ должна быть общей, поэтому я хочу ссылаться на нее только по индексу, а НЕ по содержимому строки.