Как заменить значение в списке другим значением в переменной? - PullRequest
0 голосов
/ 09 января 2019

Предположим, у меня есть список:

a = [26, 54, 108, 156, 166, 1]

И у меня также есть некоторый другой список, который является переменной, который является списком с кортежем внутри:

b02 b05 b10 b15 b16 b00

Я хочу получить этот список:

b = [b02[6][1], b05[4][1], b10[8][1], b15[6][1], b00[1][1]]

Это значение в замене значением, которое их десяти и сотен цифр равно числу после b, а их цифра равна [digit] значению b

Сначала я определил функцию, чтобы получить их цифру

def get_digit(number, n):
    return number // 10**n % 10

Как достать b?

1 Ответ

0 голосов
/ 09 января 2019

Сначала я бы поместил все списки b* в dict, чтобы вы могли правильно их найти:

b_lists = {
    2: b02,
    5: b05,
    10: b10,
    15: b15,
    0: b00,
}

Тогда для сопоставления каждого элемента функция будет:

def map_value(value):
    return b_lists[value // 10][value % 10][1]

Таким образом, полное отображение будет:

b = [map_value(value) for value in a]

Или просто:

b = list(map(map_value, a))
...