Возвращаемые значения Python в таблице не ожидались - PullRequest
0 голосов
/ 21 мая 2018

В моей программе на Python я получил список значений и словарь, например

values= ['1','2','3','4','5']
dic = {'1': Some Value1, '2': Some Value2, '3': Some Value3}

Я хочу вернуть все совпадающие значения в dic в таблицу с одним условием, т.е. мои значения не должнынапример, повторите:

Row: 1 Some Values 1
Row: 2 Some values 2
Row: 3 Some values 3
Row: 4 Empty
Row: 5 Empty

Но при возврате значения в таблице из 3 строк я получаю:

Row 1: Some Values 1,Some values 2, Some values 3
Row 2: Some Values 1,Some values 2, Some values 3
Row 3: Some Values 1,Some values 2, Some values 3

И моя функция:

def value(self):
  values = ['1','2','3','4','5']
  dic = {'1': Some Value1, '2': Some Value2, '3': Some Value3}
  for keys, values in dic.items():
    if(keys == values):
    return values

Моя вторая функция просто выглядит так:

def get_value(self):
 element=classA()
 element.value()

, но когда я вызываю эту функцию из другой, она возвращает все значения в одной строке и повторяет процесс для всех строк, может кто-нибудь помочь мне с этим, спасибо

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Ваш values переопределен, вы должны использовать другое имя переменной.Кроме того, вы используете ==, что означает, что он будет возвращать значения, только если значение keys и значение values равны, я думаю, вы можете использовать in.И затем, else может использоваться после вашего if.

0 голосов
/ 21 мая 2018

Вы можете попробовать что-то вроде этого:

l = []
for i in values:
    if i in dic.keys():
        l.append(f'ROW:{i} {dic[i]}')
    else:
        l.append(f'ROW:{i} Empty')
return l

l будет списком желаемого выхода.

помните, что values это ваш список элементовпоэтому, когда вы говорите for keys, values in ..., эти значения будут переопределять другие.

Обратите внимание:

для этих отформатированных вы должны иметь Python3,6 или выше.

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