具有多个参数的Python“in operator”

时间:2015-12-02 01:11:37

标签: python loops for-loop

我有一个简单的python问题。首先,请参阅代码。

UTExportedTypeDeclarations

我认为这会打印'one'然后'1''2',但我收到错误:

l1 = ['one', ['1', '2']]

for item1, item2 in l1:
    print (item1)
    for subitem in item2:
        print (subitem)

我正在遵循的教程中有一些代码(https://automatetheboringstuff.com/chapter9/)让我相信我正在尝试做的事情(带有in语句的多个args)是可能的 - 但是什么是逻辑吗?

1 个答案:

答案 0 :(得分:2)

你的外环不应该是一个循环:

let maskLayer = CALayer()
maskLayer.backgroundColor = UIColor.blackColor().CGColor
maskLayer.frame = CGRectMake(0, 0, 2000, 2000) 

aView.layer.mask = maskLayer

2000这样的循环期望item1, item2 = l1 print(item1) for subitem in item2: print(subitem) 的每个元素分别解包为两个项目。例如,如果for item1, item2 in l1l1,则第一次迭代将设置为l1,第二次迭代将设置为[(1, 2), (3, 4), ...],依此类推。