Python数据结构之——tuple
Tuple和List的功能相近,主要目的是用来存放一组对象。但是,它们有一个最大的不同点:Tuple是不可变的!
对于元组的定义,可以使用小括号“()”来完成。对于其中的元素,需要使用逗号分隔。需要注意的一点是:定义元组时,小括号是可选的!但是为了防止产生歧义,强烈推荐在定义元组时使用小括号。定义元组的示例如下:
tup = ('one','two','three')
对于元组的定义,有两种情况需要注意:元组中的元素数量为0或1时。定义一个元素数为0的元组:zero_tup = ()。定义一个元素数为1的元组:one_item_tup = (1,)。对于一个元素的元组的定义,需要在元素后加一个逗号。原因在于如果没有括号,就会和改变运算优先级的括号产生歧义。
对于元组的访问,可以使用像数组一样,使用索引来完成:
print(tup[1]
#结果是:two
需要注意的是,在Python中,下表都是从0开始的。
元组还有另外一种使用方法,就是元组嵌套。例如:
tup = ('one','two','three')
new_tup = ('four','five',tup)
print(tup)
print(new_tup)
print(new_tup[1])
print(new_tup[2])
print(new_tup[2][2])
#***********
#运行结果
('one', 'two', 'three')
('four', 'five', ('one', 'two', 'three'))
five
('one', 'two', 'three')
three
元组中可以存放不同的数据类型,正如上述示例new_tup中,既有字符串类型,又有元组类型。对于元组内的元组的访问,也可以使用索引的方式。new_tup[2][2]看上去和使用二维数组一样,它的意图在于,首先运算new_tup[2],这样就获得了new_tup中的第三个元素,即tup元组。然后对tup元组进行索引计算,即:new_tup[2][2] = tup[2]。
相关文档:
作者:老王
Python似乎很讨厌修饰符,没有常见的static语法。其静态方法的实现大致有以下两种方法:
第一种方式(staticmethod):
>>> class Foo:
str = "I'm a static method."
def ba ......
"""A parser for HTML and XHTML."""
# This file is based on sgmllib.py, but the API is slightly different.
# XXX There should be a way to distinguish between PCDATA (parsed
# character data -- the normal case), RCDATA (replaceable character
# data -- only char and entity references and end tags a ......
server:
import sys
import socket
host = sys.argv[1]
port = int(sys.argv[2])
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host,port))
while 1:
try:
&n ......
from http://stackoverflow.com/questions/101268/hidden-features-of-python
http://www.okpython.com/bbs/thread-3434-1-1.html
http://www.okpython.com/bbs/thread-3436-1-2.html
http://www.okpython.com/bbs/thread-3437-1-2.html
http://www.okpython.com/bbs/thread-3438-1-1.html
http://www.okpython.com/bb ......
在基于互联网的应用中,程序经常需要自动地发送电子邮件。如:一个网站的注册系统会在用户注册时发送一封邮件来确认注册;当用户忘记登陆密码的时候,通过邮件来取回密码。smtplib模块是python中smtp(简单邮件传输协议)的客户端实现。我们可以使用smtplib模块,轻松的发送电子邮件。下面的例子用了不到十行代码来发送电子邮 ......