Добавить элемент для каждого значения списка - PullRequest
1 голос
/ 06 ноября 2019

Я хочу добавить значение для каждого элемента в списке и у меня есть проблема


m = ['ad3f788a-4cb0-4981-9510-bc5f5758622c'] //in this example i will make the value a list

only_guid = ['d25170b0-87c8-4d40-80b7-05829d6d8626', 'e0f7cc56-ef22-495f-8a3c-02680430cec0']

//if I make the value "m" a list, then the code below will help me, but this is not the result that I expect

t_only_guid = []
for i1 in only_guid:
    t_only_guid.append([[i1,i2] for i2 in m])

print(t_only_guid)

//result
[[['d25170b0-87c8-4d40-80b7-05829d6d8626', 'ad3f788a-4cb0-4981-9510-bc5f5758622c']], [['d25170b0-87c8-4d40-80b7-05829d6d8626', 'ad3f788a-4cb0-4981-9510-bc5f5758622c']]]

Как добавить для каждого элемента списка, если "m" просто значение?

m = 'ad3f788a-4cb0-4981-9510-bc5f5758622c'

Я ожидаю следующий результат:

[['d25170b0-87c8-4d40-80b7-05829d6d8626', 'ad3f788a-4cb0-4981-9510-bc5f5758622c'], ['d25170b0-87c8-4d40-80b7-05829d6d8626', 'ad3f788a-4cb0-4981-9510-bc5f5758622c']]

Я надеюсь на вашу помощь с объяснением. Спасибо тебе!

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

просто измените свой код следующим образом.

item = '1'
lis = ['1','2']
new = []
for n in lis:
    new.append([n,item])
print(new)

Результат:

[['1', '1'], ['2', '1']]
1 голос
/ 06 ноября 2019

Используйте isinstance для проверки объекта и процесса. Также вы можете использовать itertools.product здесь.

Пример:

from itertools import product

t_only_guid = ['d25170b0-87c8-4d40-80b7-05829d6d8626', 'e0f7cc56-ef22-495f-8a3c-02680430cec0']
m = 'ad3f788a-4cb0-4981-9510-bc5f5758622c'
m = m if isinstance(m, list) else [m]   # works if m is a list -->['ad3f788a-4cb0-4981-9510-bc5f5758622c']
print(list(product(m, t_only_guid)))

Выход:

[('ad3f788a-4cb0-4981-9510-bc5f5758622c', 'd25170b0-87c8-4d40-80b7-05829d6d8626'), ('ad3f788a-4cb0-4981-9510-bc5f5758622c', 'e0f7cc56-ef22-495f-8a3c-02680430cec0')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...