-1

我正在遍历几个列表。然后我想遍历它们的元素,但是每个列表都需要不同的循环语句(例如,仅从列表 1 中获取每个第三个值,而不是在列表 2 中将每个值乘以 2。)。

为每个列表名称创建一个带有 if-elif 的 py 文件并返回特定于列表的循环语句是否有意义?这怎么可能实现?还有其他想法吗?

例如

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]
4

1 回答 1

0

您的问题不够清楚,但我会尽力帮助您,因为 ia 可以从您的帖子和代码中理解。

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 函数来运行一段代码。你有功能,用它们把事情说清楚。在此示例中,您可以避免使用 (if idx == 0 .... else ) 并尝试首先运行 listOfList 中的第一个列表,然后对 listOfList 的其余部分使用循环。

于 2019-10-18T21:54:16.260 回答