码迷,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
迷上了代码!