lists,tuples and sets of Python

(python2.7.x)

Lists 列表

      列表是一个有序序列(集合),可变的(可以修改),可以理解为其他语言中的数组类型,但是列表更灵活更强大。

      列表由方括号[]来定义的,它的元素可以是任意类型或对象,一个列表中可以包含混合元素。

      例:

      x = []                                                                       创建空列表

      x = [1, 2]    x = ['a', 'b']   x = [[1, 2]]   x = [{1, 2}]   创建列表,它的元素可是任意类型或对象

      x = [1, 'ab', [1, 2], {1, 2},{1:1, 2:2}]                        创建列表,一个列表中有混合元素

 

      列表访问可以通过切片或索引来访问,索引值也是从0开始,不同于其他语言数据的时,列表索引可以是负数,-1表示最后一个元素。

      x = ['a', 'b', 'c']

x = [ 'a' 'b' 'c' ]
正索引 0 1 2  
负索引 -3 -2 -1  

 

 

 

        索引不能大于最大正索引,不能小于最小负索引,否则会报列表索引超出范围错误:IndexError: list index out of range

        切片[index1:index2:step],从索引index1开始(包含index1)到索引index2(不包含index2),步长step(元素的间距),这三个参数都是可选的

 

Tuples 元组

     元组跟列表很相似,但是不可变(不能修改,只能创建)。元组是由()括号来创建的

     例:

     x = (1, 2, 3)

     x[1] = 5   因元组不可变的序列,这样操作会报错:TypeError: 'tuple' object does not support item assignment

     注意:单元组就是元组只有一个元素时,需在元素后加个英文半角逗号”,“,否则创建的将不是元组

     例:

     >>x = (1)

     >>x

     1                                这样创建的不是元组,只是一个附值操作

     >>type(x)

     <type 'int'>                 这样创建的不是元组,只是一个附值操作

     >>x = (1,)

     >>x

     (1,)

     >>type(x)

     <type 'tuple'>

     >>x = ()                      空元组的创建,这样是合法的

     >>x

     ()

     >>type(x)

     <type 'tuple'>

 

Sets 集合

    集合对象是一组无序排列元素组成。集合有两种不同的类型:可变集合(set)、不可变集合(frozenset)。

    可变集合:可以添加和删除元素,它不是可哈希的,因此不能用做字典的键也不能做其他集合中的元素。

    不可变集合:与可变集合相反,不可修改,有哈希值,可用做字典的键或作为集合中的一个成员。

    集合的创建:

    >>set('hypo')

    set(['h', 'y', 'p', 'o'])

    >>frozenset('hypo')

    frozenset(['h', 'y', 'p', 'o'])

posted @ 2014-12-10 10:31  hypo106  阅读(144)  评论(0编辑  收藏  举报