Python 系列:1 - Tuples and Sequences
发布日期:2022-03-04 12:48:49 浏览次数:23 分类:技术文章

本文共 2349 字,大约阅读时间需要 7 分钟。

5.3 Tuples and Sequences

We saw that lists and strings have many common properties, e.g., indexing and slicing operations. They are two examples of sequence data types. Since Python is an evolving language, other sequence data types may be added. There is also another standard sequence data type: the tuple.

A tuple consists of a number of values separated by commas, for instance:

 

>>> t = 12345, 54321, 'hello!'>>> t[0]    #说明Tuples是个矩阵格式。12345>>> t(12345, 54321, 'hello!')>>> # Tuples may be nested:... u = t, (1, 2, 3, 4, 5)>>> u((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))

As you see, on output tuples are alway enclosed in parentheses, so that nested tuples are interpreted correctly; they may be input with or without surrounding parentheses, although often parentheses are necessary anyway (if the tuple is part of a larger expression).

Tuples have many uses, e.g., (x, y) coordinate pairs, employee records from a database, etc. Tuples, like strings, are immutable: it is not possible to assign to the individual items of a tuple (you can simulate much of the same effect with slicing and concatenation, though).

A special problem is the construction of tuples containing 0 or 1 items: the syntax has some extra quirks to accommodate these. Empty tuples are constructed by an empty pair of parentheses; a tuple with one item is constructed by following a value with a comma (it is not sufficient to enclose a single value in parentheses). Ugly, but effective. For example:

 

>>> empty = ()>>> singleton = 'hello',    # <-- note trailing comma>>> len(empty)0>>> len(singleton)1>>> singleton('hello',)

The statement t = 12345, 54321, 'hello!' is an example of tuple packing: the values 1234554321 and 'hello!' are packed together in a tuple. The reverse operation is also possible, e.g.:

 

>>> x, y, z = t

This is called, appropriately enough, tuple unpacking. Tuple unpacking requires that the list of variables on the left has the same number of elements as the length of the tuple. Note that multiple assignment is really just a combination of tuple packing and tuple unpacking!

Occasionally, the corresponding operation on lists is useful: list unpacking. This is supported by enclosing the list of variables in square brackets:

 

>>> a = ['spam', 'eggs', 100, 1234]>>> [a1, a2, a3, a4] = a

转载于:https://www.cnblogs.com/Matrix420/p/4214470.html

转载地址:https://blog.csdn.net/ancheng9197/article/details/101919742 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LaTex 使用 - 配置
下一篇:《定風波》 宋‧歐陽修

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月05日 15时09分27秒