我有本字典:

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

09-26 21:08
查看更多