①问题:假如有一个包含N多个元素的元组或者序列,现在想分解为N个单独的变量。
1 L = (4, 5)2 x, y = L
②进阶篇:
data = ['sb', '大铁锤', '51', (2018, 6, 2)]a, b, c, date = dataa='sb'b='大铁锤'c=51date=(2018, 6, 2)
③
data = ['sb', '大铁锤', '51', (2018, 6, 2)]a, b, c, (year, mon, day) = datayear = 2018mon = 6day = 2
那么接下来问题来了,这个是知道列表具体多少的情况下去实现的,假如说未知呢?那就会用到*表达式去分解可迭代对象了
*式语法在迭代一个边长的元组序列时候相当有用的,撅个例子:
records = [ ('foo', 1, 2), ('bar', 'hi'), ('foo', 3, 4),]def do_foo(x, y): print('foo', x, y)def do_bar(s): print('bar', s)for tag, *args in records: if tag == 'foo': do_foo(*args) elif tag == 'bar': do_bar(*args)