2
ctypedef fused sequence:
7
def unpack_one(sequence it):
12
>>> unpack_one(iter(items))
14
>>> unpack_one(list(items))
16
>>> unpack_one(tuple(items))
22
def unpack_two(sequence it):
27
>>> unpack_two(iter(items))
29
>>> unpack_two(list(items))
31
>>> unpack_two(tuple(items))
37
def unpack_two_int(sequence it):
40
>>> unpack_two_int(items)
42
>>> unpack_two_int(iter(items))
44
>>> unpack_two_int(list(items))
46
>>> unpack_two_int(tuple(items))
49
>>> items = [1, object()]
50
>>> unpack_two_int(items) # doctest: +ELLIPSIS
51
Traceback (most recent call last):
53
>>> unpack_two_int(iter(items)) # doctest: +ELLIPSIS
54
Traceback (most recent call last):
56
>>> unpack_two_int(list(items)) # doctest: +ELLIPSIS
57
Traceback (most recent call last):
59
>>> unpack_two_int(tuple(items)) # doctest: +ELLIPSIS
60
Traceback (most recent call last):
67
def unpack_many(sequence it):
69
>>> items = range(1,13)
70
>>> unpack_many(items)
71
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
72
>>> unpack_many(iter(items))
73
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
74
>>> unpack_many(list(items))
75
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
76
>>> unpack_many(tuple(items))
77
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
79
a,b,c,d,e,f,g,h,i,j,k,l = it
80
return a,b,c,d,e,f,g,h,i,j,k,l
82
def unpack_many_int(sequence it):
84
>>> items = range(1,13)
85
>>> unpack_many_int(items)
86
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
87
>>> unpack_many_int(iter(items))
88
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
89
>>> unpack_many_int(list(items))
90
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
91
>>> unpack_many_int(tuple(items))
92
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
94
>>> items = range(1,10)
95
>>> unpack_many_int(items)
96
Traceback (most recent call last):
97
ValueError: need more than 9 values to unpack
98
>>> unpack_many_int(iter(items))
99
Traceback (most recent call last):
100
ValueError: need more than 9 values to unpack
101
>>> unpack_many_int(list(items))
102
Traceback (most recent call last):
103
ValueError: need more than 9 values to unpack
104
>>> unpack_many_int(tuple(items))
105
Traceback (most recent call last):
106
ValueError: need more than 9 values to unpack
111
a,b,c,d,e,f,g,h,i,j,k,l = it
112
return a,b,c,d,e,f,g,h,i,j,k,l