[英]Checking if elements are part of list and creating a new list
因此,我有两个列表(它是通过gspread库从Google表格中提取的)。Google电子表格中的一列显示了所有品牌名称。 我得到了整个专栏文章,并创建了一个名为“ approved_brand”的列表。 我得到另一列,并将其称为“ approved_seller”。 这些品牌和卖家(按总体规划)是每个品牌的认可卖家的列表。
我还有另一个电子表格,其中列出了销售特定品牌的实际卖家。 我的目标是查看特定品牌的实际卖家是否获得批准。
例如: approved_brand=[1,2,3,4,5]
, approved_seller=[a,b,c,d,e]
卖方approved_seller=[a,b,c,d,e]
(表示a批准出售1,b批准出售2,c批准3,依此类推,等等。 )
brand=[1,7,8,9,4,5]
, seller=[a,d,f,g,g,e]
检查后,您应该获得两个返回[1,5]
和[a,e]
表示在这些品牌的所有卖方中,只有a被批准出售1,e被批准出售4。
获取批准的品牌和卖家的列表。
approved_brand=referenceTable.col_values(1)
del approved_brand[0]
approved_seller=referenceTable.col_values(2)
del approved_seller[0]
从Google电子表格中存储的数据中获取所有品牌和卖家(实际品牌和相应卖家的列表)
brand=inputfile.col_values(2)
del brand[0]
seller=inputfile.col_values(4)
del seller[0]
for i in range(len(brand)):
if brand[i] in approved_brand and seller[i] in approved_seller:
approvedBrandInActual.append(brand[i])
approvedSellerInActual.append(seller[i])
最后一个for循环未按预期工作。
要同时遍历列表,请使用zip
。 浏览清单,检查相应的brand
和seller
是否在批准的清单内。
approved_brand=[1,2,3,4,5]
approved_seller=['a','b','c','d','e']
brand=[1,7,8,9,4,5]
seller=['a','d','f','g','g','e']
br, sr = [], []
for b, s in zip(brand, seller):
if (b, s) in zip(approved_brand, approved_seller):
br.append(b)
sr.append(s)
print(br) # [1, 5]
print(sr) # ['a', 'e']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.