繁体   English   中英

检查元素是否属于列表并创建新列表

[英]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 浏览清单,检查相应的brandseller是否在批准的清单内。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM