t_codes = ["11-XXX-Yaas-ZaaS-XXX-ZZZZ-Outsite-VM-ZRA-Operator",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-Outsite-VM-ZRA-Admin",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-Outsite-ZRA-User-VM-Admin",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-NewFm-VM-ZRA-Operator",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-VM-ZRA-Operator",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-NewFm-VM-ZRA-Admin",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-NewFm-ZRA-User-VM-Admin",
"22-GLB-IaaS-PaaS-PROD-MSDP-Outsite-VM-ZRA-Operator",
"22-GLB-IaaS-PaaS-PROD-MSDP-Outsite-VM-ZRA-Admin",
"22-GLB-IaaS-PaaS-PROD-MSDP-Outsite-ZRA-User-VM-Admin",
"22-GLB-IaaS-PaaS-PROD-MSDP-CUSTOMER-IN-ZRA-User-VM-Admin",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-VM-ZRA-Operator"]
t_names = ["Outsite", "NewFm", "CUSTOMER-IN"]上面提到的是我的初始输入列表。
我需要从t_codes创建2个列表,通过将t_names的每个元素与t_codes的每个元素进行匹配来创建-
列表1是
["11-XXX-Yaas-ZaaS-XXX-ZZZZ-VM-ZRA-Operator" , "11-XXX-Yaas-ZaaS-XXX-ZZZZ-VM-ZRA-Operator"] 此列表包含不包含t_names中提到的任何字符串的所有元素
列表2是
["11-XXX-Yaas-ZaaS-XXX-ZZZZ-Outsite-VM-ZRA-Operator",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-Outsite-VM-ZRA-Admin",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-Outsite-ZRA-User-VM-Admin",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-NewFm-VM-ZRA-Operator",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-NewFm-VM-ZRA-Admin",
"11-XXX-Yaas-ZaaS-XXX-ZZZZ-NewFm-ZRA-User-VM-Admin",
"22-GLB-IaaS-PaaS-PROD-MSDP-Outsite-VM-ZRA-Operator",
"22-GLB-IaaS-PaaS-PROD-MSDP-Outsite-VM-ZRA-Admin",
"22-GLB-IaaS-PaaS-PROD-MSDP-Outsite-ZRA-User-VM-Admin",
"22-GLB-IaaS-PaaS-PROD-MSDP-CUSTOMER-IN-ZRA-User-VM-Admin" ]此列表包含来自t_names的Outsite、NewFm、CUSTOMER-IN字符串。
我尝试的是:
does_contain = []
doesnt_contain = []
for tool in t_names:
for team in t_codes:
if bool(re.search(tool, team)):
does_contain.append(team)
else:
doesnt_contain.append(team)
print(does_contain)
print("-------------")
print(doesnt_contain)由于显而易见的原因,这并没有给我提供预期的输出。请帮帮忙。
发布于 2021-04-19 22:46:10
国际海事组织你要找的是any(...)
list1, list2 = [[], []]
for t_code in t_codes:
if any(t_name in t_code for t_name in t_names):
list1.append(t_code)
else:
list2.append(t_code)
print(list1)
print(list2)对于给定的输入,这会产生以下结果:
['11-XXX-Yaas-ZaaS-XXX-ZZZZ-Outsite-VM-ZRA-Operator', '11-XXX-Yaas-ZaaS-XXX-ZZZZ-Outsite-VM-ZRA-Admin', '11-XXX-Yaas-ZaaS-XXX-ZZZZ-Outsite-ZRA-User-VM-Admin', '11-XXX-Yaas-ZaaS-XXX-ZZZZ-NewFm-VM-ZRA-Operator', '11-XXX-Yaas-ZaaS-XXX-ZZZZ-NewFm-VM-ZRA-Admin', '11-XXX-Yaas-ZaaS-XXX-ZZZZ-NewFm-ZRA-User-VM-Admin', '22-GLB-IaaS-PaaS-PROD-MSDP-Outsite-VM-ZRA-Operator', '22-GLB-IaaS-PaaS-PROD-MSDP-Outsite-VM-ZRA-Admin', '22-GLB-IaaS-PaaS-PROD-MSDP-Outsite-ZRA-User-VM-Admin', '22-GLB-IaaS-PaaS-PROD-MSDP-CUSTOMER-IN-ZRA-User-VM-Admin']
['11-XXX-Yaas-ZaaS-XXX-ZZZZ-VM-ZRA-Operator', '11-XXX-Yaas-ZaaS-XXX-ZZZZ-VM-ZRA-Operator']发布于 2021-04-19 22:43:10
您应该将列表转换为set类型。set类型本身就有这种操作。
https://stackoverflow.com/questions/67164060
复制相似问题