我有本字典:
db= {'www.baurom.ro':
{0: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
},
'slbz2':
{0: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}
还有一个清单:
lista=['www.baurom.ro', 'www.baurom.ro', 'www.baurom.ro', 'www.baurom.ro', 'www.baurom.ro', 'www.baurom.ro', 'www.baurom.ro', 'www.listafirme.ro', 'www.romanian-companies.eu', 'www.risco.ro']
我现在要做的是:
for x in lista:
if x in db:
db[x][0][lista.index(x)]+=1
换句话说,我想计算每个站点出现在列表中的次数和位置这是可行的,但在给定的示例中,它将返回如下内容:
{0: [7, 0, 0, 0, 0, 0, 0, 0, 0, 0]
尽管我希望是:
{0: [1, 1, 1, 1, 1, 1, 1, 0, 0, 0]
我怎样才能做到这一点?我可以使用一个变量,用var=0初始化它,然后用它作为一个人工索引,+=1,但是有没有一种更“pythonic”的方法呢?
最佳答案
如果我正确理解你的问题,你已经有了db
字典,你正在寻找enumerate接线员。
你的代码如下:
for index, element in enumerate(lista):
if element in db:
db[element][0][index] = 1