Создание оператора if, основанного на позиции значения в словаре - PullRequest
0 голосов
/ 05 ноября 2018

Я хочу построить несколько if операторов на основе определенной позиции в многозначном словаре. Мой пример словаря и псевдокода:

position1 = 0
position2 = 0
position1Unique = 0

exDict = {1: [800, 3, 0, 0], 2: [600, 0, 2, 1], 3: [900, 1, 5, 9]}

for value in exDict:
    if value_position1 > 0:
        position1 += 1
    if value_position2 > 0:
        position2 += 1
    if value_position1 > 0 AND value_position2 = 0 AND value_position3 = 0:
        position1Unique =+ 1

Для этого словаря мои значения будут:

position1 = 2
position2 = 2
position1Unique = 1

Если из примеров не ясно, ключ / индекс и значение 0-го индекса не учитываются.

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете перебирать значения словаря с помощью dict.values. Значения в exDict являются обычными списками, и вы можете индексировать их с помощью [idx], как и любой другой список.

position1 = 0
position2 = 0
position1Unique = 0

exDict = {1: [800, 3, 0, 0], 2: [600, 0, 2, 1], 3: [900, 1, 5, 9]}

for value in exDict.values():
    if value[1] > 0:
        position1 += 1
    if value[2] > 0:
        position2 += 1
    if value[1] > 0 and value[2] == 0 and value[3] == 0:
        position1Unique =+ 1

print(position1)
print(position2)
print(position1Unique)

Результат:

2
2
1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...