Возникли проблемы при создании подсписков спискаPython

Программы на Python
Гость
Возникли проблемы при создании подсписков списка

Сообщение Гость »


Моя задача — создать комбинации, больше похожие на декартово произведение, для некоторых строк атрибутов файла библиотеки. В настоящее время я столкнулся с проблемой группировки одних и тех же атрибутов (конечно, соседние параметры разные) в виде подсписков списка. Помните, что мои входные данные могут содержать тысячу строк атрибутов , которые мне нужно извлечь из файла библиотеки.
################# ####
Пример ввода:

Код: Выделить всё

attr1 apple 1
attr1 banana 2

attr2 grapes 1
attr2 oranges 2

attr3 watermelon 0
######################
Example output:

Код: Выделить всё

[['attr1 apple 1','attr1 banana 2'], ['attr2 grapes 1','attr2 oranges 2'], ['attr3 watermelon 0']]
The result I am getting:

Код: Выделить всё

['attr1 apple 1','attr1 banana 2', 'attr2 grapes 1','attr2 oranges 2', 'attr3 watermelon 0']
Below is the code:

Код: Выделить всё

import re

# regex pattern definition
pattern = re.compile(r'attr\d+')

# Open the file for reading
with open(r"file path") as file:
# Initialize an empty list to store matching lines
matching_lines = []

# reading each line
for line in file:
# regex pattern match
if pattern.search(line):
# matching line append to the list
matching_lines.append(line.strip())

# Grouping the  elements based on the regex pattern

#The required list
grouped_elements = []

#Temporary list for sublist grouping
current_group = []

for sentence in matching_lines:
if pattern.search(sentence):
current_group.append(sentence)
else:
if current_group:
grouped_elements.append(current_group)
current_group = [sentence]

if current_group:
grouped_elements.append(current_group)

# Print the grouped elements
for group in grouped_elements:
print(group)



Источник: https://stackoverflow.com/questions/781 ... -of-a-list

Вернуться в «Python»