Вы можете использовать списочное понимание для этого:
karak = [['INFO100','C'],['INFO132','B'],['INFO233','C'],['ECON218','A']]
info_items = [item for item in karak if item[0].startswith("INFO")]
econ_items = [item for item in karak if item[0].startswith("ECON")]
print(info_items)
print(econ_items)
Относительно второй части: Что предполагается вернуть, если emnenivå меньше 100? У вас есть пункты INFO с двузначными числами?
РЕДАКТИРОВАТЬ: Чтобы сопоставить INFO только с уровнем 100 или 200, вы можете использовать первую цифру из emnenivå
в качестве отличительного фактора. И вы получите первую emnenivå
цифру, преобразовав ее в строку и используя index = 0, например: str(emnenivå)[0]
. Пример кода:
emnenivå = 123
print("\nExact match for emnenivå={}:".format(emnenivå))
info_items_exact = [item for item in karak if item[0].startswith("INFO{}".format(str(emnenivå)[0]))]
print(info_items_exact)
emnenivå = 200
print("\nExact match for emnenivå={}:".format(emnenivå))
info_items_exact = [item for item in karak if item[0].startswith("INFO{}".format(str(emnenivå)[0]))]
print(info_items_exact)
Если он находится на том же сервере, вы просто используете команду CREATE DATABASE с параметром TEMPLATE. Например:
CREATE DATABASE newdb WITH TEMPLATE olddb;
здесь приведена ссылка на некоторые примеры резервного копирования и восстановления. Вы можете использовать резервную копию для восстановления на другой сервер или что-то еще