python的三大基本数据结构(转载)

转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx

 

Python基本数据结构:列表,元组及字典

 

 

一、列表

一组有序项目的集合。可变的数据类型【可进行增删改查】

列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔。

列表中可以包含任何数据类型,也可包含另一个列表

列表可通过序号访问其中成员

 

常用列表操作:

list.append()追加成员,成员数据

list.pop()删除成员,删除第i个成员

list.count(x)计算列表中参数x出现的次数

list.remove()删除列表中的成员,直接删除成员i

list.extend(L)向列表中追加另一个列表L

list.reverse()将列表中成员的顺序颠倒

list.index(x)获得参数x在列表中的位置

list.sort()将列表中的成员排序

list.insert()向列表中插入数据insert(a,b)向列表中插入数据

 

可通过

>>>help(list) 查看方法详情

    print("-------list operations------")  
    #列表操作  
    l = [1,2,3,4,5]  
    l2 = [7,8,9]  
    print(l)  
    #获得列表长度  
    length = len(l)  
    print(length)  
    #追加一个元素,在列表最后一位  
    l.append(6)  
    print(l)  
    #向列表中追加另一个列表  
    l.extend(l2)  
    print(l)  
    #插入一个元素,在位置a  
    l.insert(0,0)  
    print(l)  
    #将列表顺序颠倒  
    l.reverse()  
    print(l)  
    #排序,从小到大  
    l.sort()  
    print(l)  
    #统计某个元素出现的次数  
    c = l.count(0)  
    print(c)  
    #查找某个参数在列表中的位置,未命中则抛异常  
    i = l.index(1)  
    print(i)  
    #删除某个位置的成员  
    l.pop(0)  
    print(l)  
    l.append(1)  
    #直接删除某个值的成员,若有多个,删除第一个  
    l.remove(1)  
    print(l)  
    #列表操作补充--切片操作  
    example = [0,1,2,3,4,5,6,7,8,9]  
    #打印某一区间 左闭右开  
    print(example[4:8])  
    #想包含最后一个  
    print(example[4:])  
    #包含首个  
    print(example[:8])  
    #所有的  
    print(example[:])  
     
    #第三个参数为步长  
    print(example[1:8:2])  
    #倒序输出  
    print(example[::-1])  
     
    #列表合并  
    a = [1,2,3]  
    b = [4,5,6]  
    print(a+b)  
     
     
     
    #替换  
    ex = [1,2,3,4,5,6]  
    ex[4:]=[9,8,7]  
    print(ex)#将56换为987  
    #插入  
    ex[1:1] = [0,0,0]  
    print(ex)  
    #删除  
    del ex[0:2]  
    print(ex)  
    #或者  
    ex[6:]=[]  
    print(ex)  
     
     
    #比较  
    one = [1,2,3]  
    two = [1,2,3]  
    print(one == two)#true  
    print(one is two)#false  
     
    #列表操作补充——字符串也是列表  
    str = "abcdefg"  
    print(str[0])  
     
    #将一个字符串转为字符数组  
    print(list(str))  
     
     
    #字符串  
    s = "abcdefg"  
    #判断是否包含  
    print('a' in s)  
     
    #函数和模块  
    import math  
    #将一个变量指向一个函数  
    se = math.sqrt  
    print(se(81))  

二、元组

不可变序列

元组是以圆括号“()”包围的数据集合,不同成员以“,”分隔

与列表不同:元组中数据一旦确立就不能改变

 

通过下标进行访问

 

 

声明:

L=(1,2,3)

含0个元素的元组: L = ()

含1个元素的元组:L=(1,) 注意有逗号

    #元组操作  
    #声明  
    o =('a','b','c',('d1','d2'))  
    o1 = ()  
    o2 = (1,)  
    #访问  
    print(o[0])  
    print(o[3][0])  
    #用于打印语句  
    age = 22  
    name = 'tom'  
    print("%s is %d years old"%(name,age))  

三、字典

键值对的集合(map)

字典是以大括号“{}”包围的数据集合

与列表区别:字典是无序的,在字典中通过键来访问成员。

字典是可变的,可以包含任何其他类型

 

声明:

M={k1:v1,k2:v2}

访问 M[k1]将得到v1

 

 

常用字典操作:

dic.clear()清空字典

dic.keys()获得键的列表

dic.values()获得值的列表

dic.copy()复制字典

dic.pop(k)删除键k

dic.get(k)获得键k的值

dic.update()更新成员,若成员不存在,相当于加入

dic.items()获得由键和值组成的列表

dic.popitem

可以通过

>>>help(dict) 查看详情

    #字典操作  
    m = {'a':1,'b':2,'c':3}  
    print(m)  
    #读取某一个_通过key  
    print(m['a'])  
    #读取某一个,通过get方法  
    print(m.get('b'))  
    #复制字典  
    m2 = m.copy()  
    print(m2)  
    #获取所有键的列表  
    print( m.keys() )  
    #获取所有值的列表  
    print( m.values() )  
    #获取所有键值对元组组成的列表  
    print( m.items() )  
    #更新成员,当对应键值不存在时,相当于加入  
    m.update({'d':4})  
    print(m)  
    #删除某个成员  
    m.pop('a')  
    print(m)  

 

四、序列的索引和切片

列表、元组和字符串都是序列

序列的两个主要特点是索引操作符和切片操作符。

索引操作符让我们可以从序列中抓取一个特定项目。即下标操作,用方括号和数字抓取某个位置的项目,L[0]抓取第一个元素,L[-1]抓取最后一个元素

切片操作符让我们能够获取序列的一个切片,即一部分序列。方括号加一对可选数字,切出某个子片L[1:3] 返回1-2的子片,L[2:]从2开始到最后,L[:]整个

posted @ 2016-11-24 21:56  这个作者很调皮  阅读(333)  评论(0编辑  收藏  举报