1
我有一个列表的列表。这些名单由某些地区的人组成,如果名单中有太多人来自某个地区,我想从列表中删除名单。该列表是9测试列表根据约束删除不需要的列表
list=[[["Aarat","California"],
["Aaron","California"],
["Abba","California"],
["Abaddon","California"],
["Abner","Nevada"],
["Abram","Nevada"],
["Abraham","Nevada"],
["Absalom","Nevada"],
["Adullam","Utah"]],
......,
[["Abital","California"],
["Abitub","California"],
["Absalom","Nevada"],
["Accad","Nevada"],
["Agar","Utah"],
["Agee","Utah"],
["Aijeleth-Shahar","New Mexico"],
["Ain","New Mexico"],
["Amram","Washington"]]]
Cities=["California","Nevada","Utah","New Mexico","Idaho","Washington"]
denk=[]
for city in Cities:
den=[]
for i in list:
a=i[0]
b=i[1]
c=i[2]
d=i[3]
e=i[4]
f=i[5]
g=i[6]
h=i[7]
k=i[8]
if a==city:
ab=1
if b==city:
ac=1
if c==city:
ad=1
if d==city:
ae=1
if e==city:
af=1
if f==city:
ag=1
if g==city:
ah=1
if h==city:
ai=1
if k==city:
aj=1
if (ab+ac+ad+ae+af+ag+ah+ai+aj)>3:
den.append(1)
if (ab+ac+ad+ae+af+ag+ah+ai+aj)<4:
den.append(0)
denk.append(sum(den))
finalList=[]
for i, j in enumerate(denk):
if j == 0:
finalList.append(list[i])
长度我试图从城市数的人的数量,如果人的数量大于3我尝试追加1,如果不是0我只有这样做,所以我可以总结列表超出配额的次数。
Cities=["California","Nevada","Utah","New Mexico","Idaho","Washington"]
[["Aarat","California"],
["Aaron","California"],
["Abba","California"],
["Abaddon","California"],
["Abner","Nevada"],
["Abram","Nevada"],
["Abraham","Nevada"],
["Absalom","Nevada"],
["Adullam","Utah"]]
在测试这个特殊列表中的测试,看看有多少人来自加利福尼亚州将使书房= 1,因为有来自加利福尼亚州超过3人。下一个城市,内华达州,也将使den = 1,依此类推...... den = [1,1,0,0,0,0] denk = [2] 所以这个列表被抛出
[["Abital","California"],
["Abitub","California"],
["Absalom","Nevada"],
["Accad","Nevada"],
["Agar","Utah"],
["Agee","Utah"],
["Aijeleth-Shahar","New Mexico"],
["Ain","New Mexico"],
["Amram","Washington"]]
在这里做同样的产生城市中的每个城市den = 0,den = [0,0,0,0,0,0],denk = [0]所以列表将被接受。
finalList不应该有任何列表中有太多人从一个地方。
最后一个代码返回的内容是什么?如果我打印清单,它看起来像以前一样返回。 –
这不会修改'list' - 它会返回一个新的列表。如果你想修改'list',写'list = [l for l in list if ...'。 –