在Python中设置循环和操作

时间:2013-12-24 10:32:51

标签: python

如何遍历两个集合并对每个集合项目进行操作。或者我可以在必要时将它们列为列表或元组,我想到了集合,因为它们没有重复 但是,我认为这是不可能的......而且应该是其他方式。这是我的代码,相当解释,它一直有效,直到它到达集合,显然......:

def p2():
    myPrimes = set()
    myPossiblePrimes= set()
    myDividersList= set()


    for x in range(2,11):
        for y in range(1,5):
            if x%y != 0:
                print (x,'does not equally divide with',y,'and I added ',x,'into the possible set')
                myPossiblePrimes.add(x)
                myDividersList.add(y)
                def f():
                    for a in range (myPossiblePrimes):
                        for b in range (myPossibleDividers):
                            if a%b == 0:
                                myPossiblePrimes.remove(x)
                                return[myPossiblePrimes]

                filter(f(), myPossiblePrimes)
                print ('checked')
    return[list(enumerate(myPossiblePrimes))]

1 个答案:

答案 0 :(得分:1)

for a in range (myPossiblePrimes):

混合两种for循环:

for item in iterable:

for index in range(integer): # or range(len(iterable))

你只需要:

for a in myPossiblePrimes:

其他一些问题:

  1. filter的函数应该接受一个参数(迭代中的每个项目都被过滤)和return True(保留项目)或False(除去项目)。

  2. "myPossibleDividers" != "myDividersList"

  3. filter(f(), myPossiblePrimes)应为filter(f, myPossiblePrimes)