Сравните 2 списка с .intersection ()

1

Я пытаюсь сравнить один список, список A, который содержит 130 имен с другим списком, B, который содержит около 500 имен. Я хочу проверить, присутствуют ли имена в списке A в списке B, и если да, я хочу создать третий список, C чтобы сохранить эти общие записи.

Я попытался использовать следующий метод:

C = list(set(A).intersection(B['Username']))
for names in C:
    print('common user: ' + names)

Проблема с этим кодом заключается в том, что я получаю некоторые пользователи, но не все из них, я проверил вручную, и он не возвращает всех обычных пользователей, где я ошибаюсь? Я попытался преобразовать списки A, B в Series и Dataframe, но при преобразовании их в списки ничего не меняется и при преобразовании в DataFrame это не работает.

Теги:

2 ответа

1
def intersect(list_1, list_2):
    return list(set(list_1) & set(list_2))
C = intersect(A,B)
  • 1
    list оболочка избыточен. Я почти уверен, что ОП означало просто повторяемость.
  • 0
    Он буквально упомянул «С» - это список, поэтому я завернул его.
Показать ещё 1 комментарий
0

Или вы можете сделать:

import pandas as pd
C = [i for i in B['Username'] if i in A]
ser = pd.Series(C)
print(ser)
  • 0
    Спасибо за ваш ответ, но он работает аналогично моему решению, я до сих пор не понимаю все общие элементы

Ещё вопросы

Сообщество Overcoder
Наверх
Меню