У меня есть два следующих списка:
# List of tuples representing the index of resources and their unique properties
# Format of (ID,Name,Prefix)
resource_types=[('0','Group','0'),('1','User','1'),('2','Filter','2'),('3','Agent','3'),('4','Asset','4'),('5','Rule','5'),('6','KBase','6'),('7','Case','7'),('8','Note','8'),('9','Report','9'),('10','ArchivedReport',':'),('11','Scheduled Task',';'),('12','Profile','<'),('13','User Shared Accessible Group','='),('14','User Accessible Group','>'),('15','Database Table Schema','?'),('16','Unassigned Resources Group','@'),('17','File','A'),('18','Snapshot','B'),('19','Data Monitor','C'),('20','Viewer Configuration','D'),('21','Instrument','E'),('22','Dashboard','F'),('23','Destination','G'),('24','Active List','H'),('25','Virtual Root','I'),('26','Vulnerability','J'),('27','Search Group','K'),('28','Pattern','L'),('29','Zone','M'),('30','Asset Range','N'),('31','Asset Category','O'),('32','Partition','P'),('33','Active Channel','Q'),('34','Stage','R'),('35','Customer','S'),('36','Field','T'),('37','Field Set','U'),('38','Scanned Report','V'),('39','Location','W'),('40','Network','X'),('41','Focused Report','Y'),('42','Escalation Level','Z'),('43','Query','['),('44','Report Template ','\\'),('45','Session List',']'),('46','Trend','^'),('47','Package','_'),('48','RESERVED','`'),('49','PROJECT_TEMPLATE','a'),('50','Attachments','b'),('51','Query Viewer','c'),('52','Use Case','d'),('53','Integration Configuration','e'),('54','Integration Command f'),('55','Integration Target','g'),('56','Actor','h'),('57','Category Model','i'),('58','Permission','j')]
# This is a list of resource ID's that we do not want to reference directly, ever.
unwanted_resource_types=[0,1,3,10,11,12,13,14,15,16,18,20,21,23,25,27,28,32,35,38,41,47,48,49,50,57,58]
Я пытаюсь сравнить два, чтобы создать третий список, содержащий «Имя» каждого уникального типа ресурса, который в настоящее время существует в unwanted_resource_types
. например Окончательный список результатов должен быть:
result = ['Group','User','Agent','ArchivedReport','ScheduledTask','...','...']
Я пробовал следующее, что (я думал) должно работать:
result = []
for res in resource_types:
if res[0] in unwanted_resource_types:
result.append(res[1])
и когда это не удалось заполнить result
Я также попытался:
result = []
for res in resource_types:
for type in unwanted_resource_types:
if res[0] == type:
result.append(res[1])
также безрезультатно. Есть что-то, чего мне не хватает? Я полагаю, что это было бы подходящим местом для выполнения понимания списков, но это все еще находится в моей серой корзине полного понимания (документы Python для меня слишком лаконичны в данном случае).
Я также готов переосмыслить эту проблему, но мне нужно сохранить список кортежей, так как он используется в другом месте скрипта. Спасибо за любую помощь, которую вы можете оказать.