Я пытаюсь сравнить списки разных чисел и длины, которые были созданы динамически с помощью ввода и сопоставления шаблонов. Я не включил весь соответствующий код, но вы должны понять, что я пытаюсь сделать.Сравнение динамического числа списков (не равной длины) для общих записей в Python
Следуя советам другого столбца переполнения стека, я использовал «список списков». Я использовал количество запросов, введенных пользователем, чтобы назвать списки и получить к ним доступ.
В конце программы я хочу провести сравнение между списками, но я не могу понять, как это сделать. Для начала я просто хотел бы сравнить элементы списка и найти те, которые соответствуют во всех списках, однако я также хотел бы выполнить другие сравнения списков позже. Я просто не могу понять, как получить доступ к отдельным спискам, когда я за пределами цикла «для запросов в dom_queries».
Я супер застрял, и я действительно приветствую помощь!
Спасибо,
# set dom_count and initialise query_list
dom_count = 0
dom_queries = []
# get the number of query domains
domain_number = raw_input('How many domains do you want to find intersects for? ')
# Grab query ID's
while dom_count < int(domain_number):
dom_count += 1
query_domain = raw_input('domain ID query ' + str(dom_count) + ': ')
dom_queries.append(query_domain)
# initialise lists for query_matches
list_of_lists = []
for i in range(len(dom_queries)):
list_of_lists.append([])
list_pos = 0
# do some matching here for each dom_query, incrementing list position for each query
# and put matches into the list
for query in dom_queries:
some_match = re.search(r'XYZ',some_line)
list_of_lists[int(list_pos)].append(some_match.group())
list_pos += 1
# HERE IS WHERE I'M STUCK!!!
# I would like to compare all list's generated and find list entries
# that exist in each list (can be any number of lists with different lengths).
for i in range (len(dom_queries)):
common = list(set(list_of_lists[i] & .... \/^.^\/ ??
Это, вероятно, не самый эффективный способ, но я бы просто перебирал все элементы в каждом списке и проверял каждый элемент, если они находятся во всех других списках. Но, как сказано; должно быть больше питонических способов сделать это. – kramer65