Возвратите операторы цикла (код) из внешнего скрипта - PullRequest
0 голосов
/ 19 октября 2019

Я перебираю несколько списков. Затем я хочу пройтись по их элементам, но каждый список требует различных операторов цикла (например, принимать только каждое 3-е значение из списка 1 против умножения каждого значения на 2 в списке 2.).

Имеет ли смысл создаватьpy-файл с if-elif для каждого имени списка и возвращаемых операторов цикла? Как это можно реализовать? Любые другие идеи?

например

def di_xyz(x):
    if x == 'list1':
    x = x+2
    else:
    x = x-2

newlist = []
list1 = [1,2,3]
list2 = [4,5,6]

for x in list_of_lists:
    do_xyz(x)
    newlist.append(x)



output:
new_list=[3,4,5,2,3,4]

1 Ответ

0 голосов
/ 19 октября 2019

ваш вопрос недостаточно ясен, но я постараюсь вам помочь, насколько я могу понять из вашего поста и вашего кода.

listOfList = [
    [1,2,3],
    [4,5,6]];

newList = [];

for idx, l in enumerate(listOfList):
    if idx == 0:
        for x in l:
            newList.append(x+2)
    else:
        for x in l:
            newList.append(x-2)

print(newList)

кстати, я не понимаю, как вы хотитевызвать другую функцию python для запуска фрагмента кода. у вас есть функции, используйте их, чтобы прояснить ситуацию. и в этом примере вы можете избежать использования (если idx == 0 .... else) и попытаться сначала запустить первый список в listOfList, а затем использовать цикл для остальной части listOfList.

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