Python provides a variety of useful built-in data structures, such as lists, sets, and dictionaries.For the most part, the use of these structures is straightforward. However,common questions concerning searching, sorting, ordering, and filtering often arise.Thus, the goal of this chapter is to discuss common data structures and algorithms involving data. In addition, treatment is given to the various data structures contained in the collections module.
You have an N-element tuple or sequence that you would like to unpack into a collection of N variables.
Any sequence (or iterable) can be unpacked into variables using a simple assignment operation. The only requirement is that the number of variables and structure match the sequence.
>>> p = (4, 5) >>> x, y = p >>> x 4 >>> y 5 >>> >>> data = [ 'ACME', 50, 91.1, (2012, 12, 21) ] >>> name, shares, price, date = data >>> name 1 'ACME' >>> date (2012, 12, 21) >>> name, shares, price, (year, mon, day) = data >>> name 'ACME' >>> year 2012 >>> mon 12 >>> day 21 >>>
If there is a mismatch in the number of elements, you’ll get an error. For example:
>>> p = (4, 5) >>> x, y, z = p Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: need more than 2 values to unpack >>>
Unpacking actually works with any object that happens to be iterable, not just tuples or
>>> s = 'Hello' >>> a, b, c, d, e = s >>> a 'H' >>> b 'e' >>> e 'o' >>>
When unpacking, you may sometimes want to discard certain values. Python has no special syntax for this, but you can often just pick a throwaway variable name for it. For
>>> data = [ 'ACME', 50, 91.1, (2012, 12, 21) ] >>> _, shares, price, _ = data >>> shares 50 >>> price 91.1 >>>
However, make sure that the variable name you pick isn’t being used for something else
本文章采用 知识共享署名2.5中国大陆许可协议 进行许可，欢迎转载，演绎或用于商业目的。