Python append()似乎正在重写列表中的值
我保存了一个CSV文件,其中有三个商店(商店a、B和C)。有多行商品,行中的单元格中有值,指示商店是否销售该商品 我试图浏览每一行,我的目标是找到只有一家商店出售的商品(商店特有的商品) 如果有一个商店独有的项目,我想将该项目附加到列表中(我为每个商店都有一个) 我的问题是,当我打印带有我的条件的所有项目时,它会向我显示商店特有的所有项目,但是当我将它们附加到我的列表并打印我的列表时,只会显示最后一个项目(这就是我认为它被覆盖的原因)Python append()似乎正在重写列表中的值,python,list,csv,if-statement,Python,List,Csv,If Statement,我保存了一个CSV文件,其中有三个商店(商店a、B和C)。有多行商品,行中的单元格中有值,指示商店是否销售该商品 我试图浏览每一行,我的目标是找到只有一家商店出售的商品(商店特有的商品) 如果有一个商店独有的项目,我想将该项目附加到列表中(我为每个商店都有一个) 我的问题是,当我打印带有我的条件的所有项目时,它会向我显示商店特有的所有项目,但是当我将它们附加到我的列表并打印我的列表时,只会显示最后一个项目(这就是我认为它被覆盖的原因) 您正在导致问题的每个迭代中创建一个新列表 请尝试以下操作:
您正在导致问题的每个迭代中创建一个新列表 请尝试以下操作:
import csv
reader = csv.DictReader(open("storeLists.csv"))
storeAuniqueItems = []
storeBuniqueItems = []
storeCuniqueItems = []
for row in reader:
STORES = [row]
"COMPARING ALL THE SHOPS TO GATHER ALL THE UNIQUE ITEMS OF EACH SHOP AND SAVE THE INTO A LIST"
if row["STORE A"] == "Y" and row["STORE B"] != "Y" and row["STORE C"] != "Y":
storeAuniqueItems.append(row["NAME"])
elif row["STORE A"] != "Y" and row["STORE B"] == "Y" and row["STORE C"] != "Y":
storeBuniqueItems.append(row["NAME"])
elif row["STORE A"] != "Y" and row["STORE B"] != "Y" and row["STORE C"] == "Y":
storeCuniqueItems.append(row["NAME"])
else:
print("NaN")
print("STORE A:", storeAuniqueItems)
print("STORE B:", storeBuniqueItems)
print("STORE C:", storeCuniqueItems)
import csv
reader = csv.DictReader(open("storeLists.csv"))
storeAuniqueItems = []
storeBuniqueItems = []
storeCuniqueItems = []
for row in reader:
STORES = [row]
"COMPARING ALL THE SHOPS TO GATHER ALL THE UNIQUE ITEMS OF EACH SHOP AND SAVE THE INTO A LIST"
if row["STORE A"] == "Y" and row["STORE B"] != "Y" and row["STORE C"] != "Y":
storeAuniqueItems.append(row["NAME"])
elif row["STORE A"] != "Y" and row["STORE B"] == "Y" and row["STORE C"] != "Y":
storeBuniqueItems.append(row["NAME"])
elif row["STORE A"] != "Y" and row["STORE B"] != "Y" and row["STORE C"] == "Y":
storeCuniqueItems.append(row["NAME"])
else:
print("NaN")
print("STORE A:", storeAuniqueItems)
print("STORE B:", storeBuniqueItems)
print("STORE C:", storeCuniqueItems)