Как отсортировать данные, которые хранятся в глобальном списке, после вставки их в метод;так что, прежде чем они укладываются в другой список в соответствии с их вставленными элементами?Или это плохая практика, которая усложняет хранение данных в глобальном списке, а не в отдельном методе;и, наконец, сортировать их после этого?
Ниже приведен пример сценария
list= []
dictionary = {}
def MethodA(#returns title):
#searches for corresponding data using beautifulsoup
#adds data into dictionary
# list.append(dictionary)
# returns list
def MethodB(#returns description):
#searches for corresponding data using beautifulsoup
#adds data into dictionary
# list.append(dictionary)
# returns list
Пример требуемого вывода
MethodA():[title] #scraps(text.title) data from the web
MethodB():[description] #scraps(text.description) from the web
#print(list)
>>>list=[{title,description},{title.description},{title,description},{title.description}]
Фактический вывод
MethodA():[title] #scraps(text.title) data from the web
MethodB():[description] #scraps(text.description) from the web
#print(list)
>>>list =[{title},{title},{description},{description}]
Есть несколько примеров, которые я видел;например, используя Numpy и сортируя их в массиве: -
arraylist = np.array(list)
arraylist[:, 0]
#but i get a 'too many indices for array'-
#because I have too much data loading in; including that some of them
#do not have data and are replaced as `None`; so there's an imbalance of indexes.
Я пытаюсь сохранить его как можно более модулированным.Я пытался использовать норму итерации;
но это довольно сложно, потому что мне нужно добавить в него больше циклов;
Я пробовал Numpy и Enumerate, но я не могу понять, как с этим работать.Но потому что это несбалансированный список;Это означает, что некоторые значения возвращаются как None
, что дает мне ошибку возврата;all the input array dimensions except for the concatenation axis must match exactly
Пример: ({'Toy Box','Has a toy inside'},{'Phone', None }, {'Crayons','Used for colouring'})
Обновление;Пример кода метода A
def MethodA(tableName, rowName, selectedLink):
try:
for table_tag in selectedLink.find_all(tableName, {'class': rowName}):
topic_title = table_tag.find('a', href=True)
if topic_title:
def_dict1 = {
'Titles': topic_title.text.replace("\n", "")}
global_list.append(def_dict1 )
return def_dict1
except:
def_dict1 = None