1. 程式人生 > >Python賦值--序列解包

Python賦值--序列解包

Python有一種一次給多個變數賦值的方法,稱為序列解包其形式如下:

>>> x, y, z = 1, 2, 3
>>> print x, y, z
1 2 3
>>> 

使用這種方式賦值,相對於一些高階語言如C++,Java等,可以讓一些操作很簡單:

1. 兩個變數交換

>>> x, y = 1, 2
>>> print x, y
1 2
>>> <span style="color:#ff0000;">x, y = y, x</span>
>>> print x, y
2 1
>>> 

2. Fibonacci數列的運算
>>> def fib(count):
	a, b = 0, 1
	l = list()
	for i in range(count):
		if 0==i:
			l.append(a)
		else:
			l.append(b)
			<span style="color:#ff0000;">a, b = b, a+b</span>
	return l

>>> l = fib(0)
>>> l
[]
>>> l = fib(1)
>>> l
[0]
>>> l = fib(2)
>>> l
[0, 1]
>>> l = fib(10)
>>> l
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
>>> 

當然,與Fibonacci類似的數列預算,也可以使用類似的方法進行編寫