Python список списков // Pyspark - PullRequest
0 голосов
/ 23 октября 2019

Ввод:

[['A', 'V1'], ['A', 'V2'], ['B', 'V6'], ['B', 'V7']]

Как получить приведенный ниже вывод для указанного выше ввода

Ожидаемый вывод:

listA = ['V1', 'V2'],  listB = ['V6', 'V7']

Дополнительная информация:

Я изучаю pyspark, и

[('X', [['A', 'V1'], ['A', 'V2'], ['B', 'V6'], ['B', 'V7']]),
 ('Y', [['A', 'V3'], ['A', 'V4'], ['B', 'V8']])]

- это то, где я сейчас нахожусь. Я пытаюсь реализовать соединение без использования функции соединения.

X и Y - мои ключи, на основе которых я хочу присоединиться. A и B - разные источники файлов.

Мой ожидаемый конечный результат:

(X, ['V1', 'V6'])
(X, ['V1', 'V7'])
(X, ['V2', 'V6'])
(X, ['V2', 'V7'])
(Y, ['V3', 'V8'])
(Y, ['V4', 'V8'])

1 Ответ

0 голосов
/ 23 октября 2019

Не очень сложно, но что-то вроде этих строк может вам помочь:

list = [['A', 'V1'], ['A', 'V2'], ['B', 'V6'], ['B', 'V7']]

list_a = []
list_b = []
for i in list:
    first, second = i
    if first == 'A':
        list_a.append(second)
    elif first == 'B':
        list_b.append(second)

print("list_a: ", list_a)
print("list_b: ", list_b)
...