python – 列表中的项目位置

我有这本字典:

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 
点赞