Python元组的语法

时间:2013-11-26 01:49:27

标签: python tuples

如果函数是这样写的

 def validate(input):
        for a, b in input:
        ......

input的句法形式是什么?我尝试过tuple,但函数说“解压缩的值太多了”。

3 个答案:

答案 0 :(得分:6)

在这种情况下:

  1. inputiterable type(列表,元组等)
  2. 其项目也是可迭代类型。但是,每个项目都有两个项目。

  3. 我认为解释这个的最好方法是演示:

    >>> def validate(input):
    ...     for a,b in input:
    ...         print a,b
    ...
    >>> data = [(0,1), (2,3), (4,5)]
    >>> validate(data)
    0 1
    2 3
    4 5
    >>>
    

    在上面的代码中,注意data是一个可迭代类型(列表),并且它的每个项都是可迭代类型(在本例中为元组),它们恰好包含2个项目。

答案 1 :(得分:3)

for a,b in input期望inputiterable,其中每个元素都是一个子迭代,只有两个项目,例如((1,2), ("foo", "bar"), ([], None))但不是(1, 2)((0,1), (2,3,4))

答案 2 :(得分:0)

里面有子列表/子元组的列表/元组,每个子元素包含两个元素。

def validate(input):
    for a,b in input:
        print a+b

sample1 = ((10,20),[30,40],('a','b'))
sample2 = [(10,20),[30,40],('a','b')]
validate(sample1),validate(sample2)