您的位置:首页 > 编程语言 > Python开发

python内置数据类型

2013-04-02 15:43 351 查看
了解一下 dictionary (字典)、tuple (元组) 和 list (列表)(哦,我的老天!)。

1、Python 中的 dictionary 像
Java 中的
Hashtable
类的实例。

2、字典(Dictionary)的定义

        的定义d = {"server":"mpilgrim", "database":"master"}

        'server' 是一个 key,它所关联的值是通过 d["server"] 来引用的,为 'mpilgrim'。

 

        'database' 是一个 key,它所关联的值是通过 d["database"] 来引用的,为 'master'。 

         取数据例子;print(d["database"])

    

 3、 修改 Dictionary

>>>
d
{'server': 'mpilgrim', 'database': 'master'}
>>>
d["database"] = "pubs"
>>>
d
{'server': 'mpilgrim', 'database': 'pubs'}
>>>
d["uid"] = "sa"
>>>
d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}[/code]

Dictionary 没有元素顺序的概念。说元素 “顺序乱了” 是不正确的,它们只是序偶的简单排列。这是一个重要的特性,它会在您想要以一种特定的,可重现的顺序 (像以 key 的字母表顺序) 存取 dictionary 元素的时候骚扰您

Dictionary 的 key 是大小写敏感的、Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型、Dictionary 的 key 要严格多了,但是它们可以是字符串、整数或几种其它的类型

    #删除元素

     d={'server': 'mpilgrim', 'uid': 'sa', 'database': 'master',42: 'douglas', 'retrycount': 3}  

      print (d)

      del d['uid']

      print (d)

      d.clear()#清空字典

       print (d)

       {'database': 'master', 42: 'douglas', 'server': 'mpilgrim', 'retrycount': 3, 'uid': 'sa'}

       {'database': 'master', 42: 'douglas', 'server': 'mpilgrim', 'retrycount': 3}

4、List 介绍

              Python 中的 list 更像
Java 中的数组 (您可以简单地这样理解,但 Python 中的 list 远比Java 中的数组强大)。一个更好的类比是
ArrayList
类,它可以保存任意对象,     并且可以在增加新元素时动态扩展。

      li = ["a", "b", "mpilgrim", "z", "example"]

         print (li)

       print ( li[0])      

        print ( li[-2])   

    输出结果如下:

       ['a', 'b', 'mpilgrim', 'z', 'example']

       a

       z

5、list的分片

              >>>li

['a', 'b', 'mpilgrim', 'z', 'example']

>>>li[1:3]  

['b', 'mpilgrim']

>>>li[1:-1]

['b', 'mpilgrim', 'z']

>>>li[0:3]  

['a', 'b', 'mpilgrim']

 

 您可以通过指定 2 个索引得到 list 的子集,叫做一个 “slice” 。返回值是一个新的 list,它包含了 list 中按顺序从第一个 slice 索引 (这里为 li[1]) 开始,直到但是不包括第二个 slice 索引 (这里为 li[3]) 的所有元素。

 

 如果一个或两个 slice 索引是负数,slice 也可以工作。如果对您有帮助,您可以这样理解:从左向右阅读 list,第一个 slice 索引指定了您想要的第一个元素,第二个 slice 索引指定了第一个您不想要的元素。返回的值为在其间的每个元素。

 

 List 从 0 开始,所以 li[0:3] 返回 list 的前 3 个元素,从 li[0] 开始,直到但不包括 li[3]。

  添加/删除 元素;li.remove("new") li.append("new");

6、 Tuple 是不可变的 list。一旦创建了一个 tuple,就不能以任何方式改变它。(没有添加、删除)

>>>t = ("a", "b", "mpilgrim", "z", "example")

>>>t

('a', 'b', 'mpilgrim', 'z', 'example')

>>>t[0]                                       

'a'

>>>t[-1]                                      

'example'

>>>t[1:3]                                     

('b', 'mpilgrim')

7、变量声明

       

if __name__ == "__main__":
myParams = {"server":"mpilgrim", \
"database":"master", \
"uid":"sa", \
"pwd":"secret" \
}


当一条命令用续行符 (“
\
”) 分割成多行时,后续的行可以以任何方式缩进,此时
Python 通常的严格的缩进规则无需遵守。如果您的
Python IDE 自由对后续行进行了缩进,您应该把它当成是缺省处理,除非您有特别的原因不这么做。
严格地讲,在小括号,方括号或大括号中的表达式 (如定义一个 dictionary) 可以用或者不用续行符 (“
\
”) 分割成多行。甚至在不是必需的时候,我也喜欢使用续行符,因为我认为这样会让代码读起来更容易,但那只是风格问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: