Python内置数据类型

Dictionary:定义了键和值之间的一对一关系。类似于Java中的HashTable。 dict = {"a":"a", "b":"b"}。   通过dict["a"]来引用对应Key的值

特性:
不能有重复的Key,给一个存在的Key赋值会覆盖掉原来的值。
Dictionary是无序的。
Dictionary的Key对大小写敏感。
在单个Dictionary中可以有多种数据类型。
操作:
删除元素:del d[key]
清空元素:d.clear()

List:类似于Java中的ArrayList,可以保存任意的数据类型。li = ["a", "b", "c", "d"]。访问方式与Dictionary类似,通过下标进行 访问。 需要注意的是List中可以使用负数下标来进行访问。理解为li[-n] = li[len[li] - n]。

List的分片:li[1:3] 元素为["b", "c"], 包含小标为1的元素而不包含下标为3的元素。

操作:

追加元素:li.append("new")

插入元素:li.insert(2, "new")

连接列表:li.extend(["a", "b"])

搜索元素:li.index("a"),查找一个值的首次出现并返回。

删除元素:li.remove("a"),仅删除第一个元素

弹出元素:li.pop()

List运算符:

li = li+["a"]:跟后续的List进行连接

li+=["a"]:跟后续的List进行连接

li = li * 3:连接三次

 

Tuple:是不可变的List。定义:t=("a", "b")。用法基本上和List一样,但是不可修改其中的内容。

使用Tuple的好处:

 

Tuple比List速度快。

Tuple可以当做Dictionary的Key,Dictionary key 必须是不可变的。

变量声明:

if __name__ == "__main__":

    myParams = {"server":"mpilgrim", \

                "database":"master", \

                "uid":"sa", \

                "pwd":"secret" \

                }

反斜杠为续行符。不能引用未赋值的变量。

一次赋多值:>>> v = ('a', 'b', 'e')
>>> (x, y, z) = v     (1)

>>> range(7)                                                                    (1)
[0, 1, 2, 3, 4, 5, 6]
>>> (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7) 

格式化字符串:

>>> k = "uid"
>>> v = "sa"
>>> "%s=%s" % (k, v) 
'uid=sa'

格式化字符串主要是为了强制转换数据类型,打印的时候不报错。因为Python中把字符串和数值一起打印的话他会进行报错的,不像Java可以把数值类型自动转换为字符串类型。请看下面的例子:红色字体为报错信息。

>>> userCount = 6

>>> print "Users connected: " + userCount          
Traceback (innermost last):
  File "<interactive input>", line 1, in ?
TypeError: cannot concatenate 'str' and 'int' objects

映射List:

>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li]      
[2, 18, 16, 8]

 

>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}

>>> params.keys()   

['server', 'uid', 'database', 'pwd']

>>> params.values() 

['mpilgrim', 'sa', 'master', 'secret']

>>> params.items()  

[('server', 'mpilgrim'), ('uid', 'sa'), ('database', 'master'), ('pwd', 'secret')]

items 函数:这个函数返回一个 dictionary 中所有数据的 tuple 的 list。

 

  • 连接字符串:
";".join(["%s=%s" % (k, v) for k, v in params.items()])   注意:不能Join非字符串的List
  • 分割字符串:
s.split(";")   
  • 何为Python中的True?

0 为 false; 其它所有数值皆为 true。
空串 ("") 为 false; 其它所有字符串皆为 true。
空 list ([]) 为 false; 其它所有 list 皆为 true。
空 tuple (()) 为 false; 其它所有 tuple 皆为 true。
空 dictionary ({}) 为 false; 其它所有 dictionary 皆为 true。

posted @ 2011-12-02 11:08  卡马克  阅读(214)  评论(0)    收藏  举报