在Python中创建n个嵌套的for循环

时间:2019-01-29 22:26:13

标签: python algorithm loops for-loop nested-loops

我制作了一个类,该类有助于返回列表中前两个数字的索引,这些索引总计为一个特定的数字。由于我只需要两个索引,因此我使用了一个简单的double for循环来这样做。如果我不仅要返回两个数字的索引,还要返回n个数字的索引,则此算法将需要n个for循环。尽管它不是一种有效的算法,但是有什么方法可以创建n个嵌套的for循环?另外,有什么有效的算法可从列表中获得第一个n个索引,这些索引加起来等于一个特定的数量?

class findTarget:
    def __init__(self, list, sum):
        self.list = list
        self.sum = sum

    def findIndexes(self):
        for number in self.list:
            for number2 in self.list:
                if number + number2 == self.sum:
                    return (self.list.index(number), self.list.index(number2))
        return "No two numbers sum up to" + str(self.sum)

    def findIndexesRemastered(self, numberOfIndexes):
        #numberOfIndexes amount of nested for-loops


list = [2,5,7,2,7,8,9]
test = findTarget(list, 11)
print(test.findIndexes())

0 个答案:

没有答案