Избавление от «предупреждений о неиспользуемых переменных» в Python - PullRequest
0 голосов
/ 11 марта 2020

У меня есть несколько причудливых l oop, которые очень хорошо работают для получения вложенных значений из dict.

for k, v in bdict.items():
        for k1, v1 in v.items():
            for k2, v2 in v1.items():
                for k3, v3 in v2.items():
                    blindex += v3

Как вы можете сказать, на самом деле мне не нужны ключи и VS Code продолжает давать мне раздражающие предупреждения, что у меня есть неиспользованные переменные. Могу ли я сделать что-нибудь, чтобы отключить их, или, может быть, лучший способ получить эти данные в целом?

Ответы [ 4 ]

2 голосов
/ 11 марта 2020

вы можете заменить все переменные, которые вы не используете, одним подчеркиванием "_"

for _, v in bdict.items():
        for _, v1 in v.items():
            for _, v2 in v1.items():
                for _, v3 in v2.items():
                    blindex += v3

это говорит python, что вы не заинтересованы в ключах. Другой способ - использовать метод значений вместо метода items.

for v in bdict.values():
        for v1 in v.values():
            for v2 in v1.values():
                for v3 in v2.values():
                    blindex += v3

В любом случае, я должен предупредить вас: этот код выглядит как fr agile

2 голосов
/ 11 марта 2020

вместо v.items используйте v.values, если вам не важно, какие ключи:

for v in bdict.values():
    for v1 in v.values():
        for v2 in v1.values():
            for v3 in v2.values():
                blindex+=v3
2 голосов
/ 11 марта 2020

Замена значений, которые вас не интересуют, на _ должна работать. Итак:

for _, v in bdict.items():
        for _, v1 in v.items():
            for _, v2 in v1.items():
                for _, v3 in v2.items():
                    blindex += v3

Однако, возможно, вы захотите взглянуть на .values(), например bdict.values().

1 голос
/ 11 марта 2020

Если вам не нужны ключи и интересуются только значения, просто наберите values() вместо items()

for v in bdict.values():
        for v1 in v.values():
            for v2 in v1.values():
                for v3 in v2.values():
                    blindex += v3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...