码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构和算法——将序列分解为单独的变量

时间:2018-06-02 20:44:28      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:图片   for   spl   数据   进阶   print   元组   实现   splay   

 

①问题:假如有一个包含N多个元素的元组或者序列,现在想分解为N个单独的变量。

技术分享图片
1 L = (4, 5)
2 x, y = L
View Code

②进阶篇:

data = [sb, 大铁锤, 51, (2018, 6, 2)]
a, b, c, date = data
a=sb
b=大铁锤
c=51
date=(2018, 6, 2)

技术分享图片
data = [sb, 大铁锤, 51, (2018, 6, 2)]
a, b, c, (year, mon, day) = data
year = 2018
mon = 6
day = 2
View Code

那么接下来问题来了,这个是知道列表具体多少的情况下去实现的,假如说未知呢?那就会用到*表达式去分解可迭代对象了

*式语法在迭代一个边长的元组序列时候相当有用的,撅个例子:

技术分享图片
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)
View Code

 

数据结构和算法——将序列分解为单独的变量

标签:图片   for   spl   数据   进阶   print   元组   实现   splay   

原文地址:https://www.cnblogs.com/zhoulixiansen/p/9126361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!