Python 基础 | 系列数据结构的拆封

Python 中的系列包括 tuple, list, str等. 本文主要讲解系列数据结构的拆封.

Python中函数的参数列表就是使用 tuple 来传递的. 如果已知 tuple 的大小, 可以使用分别赋值的方法直接拆封.

1
a, b, c = (1, 2, 'hello')

如果变量个数和tuple长度不相等, 或者某个变量长度未知, 可以使用带星号的 *变量 赋值, 但是要注意只能出现一次.

1
first, *middle, last = range(10)

Typical data structure sample

1
2
3
4
5
vlist = ['a', 'b', 'c']
vtuple = ('a', 'b', 'c')
vdict = {'a': 1, 'b':2, 'c':3}
vset = {'a', 'b', 'c'}
vstr = 'abc'

如果想要对list中每个元素作为函数传递, 在 list 前面加上 * (注意和前面的用法不一样) 转化为tuple.

1
2
3
4
5
6
def add3(n1, n2, n3):
print(n1 + n2 + n3)


li = [5, 3, 2]
add3(*li)

如果只需要适应部分数据, 系列其他位置可以使用下划线作为临时变量代替.

1
2
_, b, _ = (1, 2, 3)
print(b)
shell 程序设计 | shell 基础 博客中的练习题解答

评论

You forgot to set the shortname for Disqus. Please set it in _config.yml.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×