python内置数据结构
1、列表--是一个序列,用于顺序的存储数据
列表的定义与初始化
In [374]: lst = list()
In [375]: lst
Out[375]: []
In [376]: lst = []
In [377]: lst = [1,2,3]
In [378]: lst
Out[378]: [1, 2, 3]
In [379]: lst = list(range(1,10))
In [380]: lst
Out[380]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
访问列表元素
In [380]: lst
Out[380]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
In [381]:
In [381]:
In [381]: lst[0]
Out[381]: 1
In [382]: lst[-1]
Out[382]: 9
In [383]: lst.index(5)
Out[383]: 4
In [384]:
In [384]: lst = [1,2,3,2,4,3,5]
In [385]: lst.index(2) # index 方法返回查找到的第一个索引
Out[385]: 1
In [386]: lst.index(2,2)
Out[386]: 3
In [387]: lst.index(2,2,5)
Out[387]: 3
In [388]: lst.index(2,-4,-1)
Out[388]: 3
In [389]: lst.count(2)
Out[389]: 2
In [390]: lst.count(3)
Out[390]: 2
通过索引访问元素
index方法根据值返回第一个索引
count方法返回元素在列表里的个数
列表元素的修改
In [391]: lst
Out[391]: [1, 2, 3, 2, 4, 3, 5]
In [392]: lst[2]
Out[392]: 3
In [393]: lst[2] = 5
In [394]: lst
Out[394]: [1, 2, 5, 2, 4, 3, 5]
In [395]: lst[2]
Out[395]: 5
列表元素的增加
In [396]: lst
Out[396]: [1, 2, 5, 2, 4, 3, 5]
In [397]: lst.append(19)
In [398]: lst
Out[398]: [1, 2, 5, 2, 4, 3, 5, 19]
In [399]: lst.insert(0,20)
In [400]: lst
Out[400]: [20, 1, 2, 5, 2, 4, 3, 5, 19]
In [401]: lst.insert(-1,'b')
In [402]: lst
Out[402]: [20, 1, 2, 5, 2, 4, 3, 5, 'b', 19]
In [403]: lst.insert(100,'a')
In [404]: lst
Out[404]: [20, 1, 2, 5, 2, 4, 3, 5, 'b', 19, 'a']
In [405]: lst.insert(-100,'a')
In [406]: lst
Out[406]: ['a', 20, 1, 2, 5, 2, 4, 3, 5, 'b', 19, 'a']
In [407]:
#insert 当索引超出范围时,索引是负数 会在第0个元素前插入,索引是正数 会在最后一个元素后插入
In [407]: lst.extend([1,2,3])
In [408]: lst
Out[408]: ['a', 20, 1, 2, 5, 2, 4, 3, 5, 'b', 19, 'a', 1, 2, 3]
#append操作单个元素,extend操作可迭代对象
列表元素的删除
In [410]: lst
Out[410]: [1, 2, 3, 2, 4, 3, 5, 3, 4]
In [411]: lst.remove(1)
In [412]: lst
Out[412]: [2, 3, 2, 4, 3, 5, 3, 4]
In [413]: lst.pop()
Out[413]: 4
In [414]: lst
Out[414]: [2, 3, 2, 4, 3, 5, 3]
In [415]: lst.pop(4)
Out[415]: 3
In [416]: lst
Out[416]: [2, 3, 2, 4, 5, 3]
In [417]: lst.clear()
In [418]: lst
Out[418]: []
其他操作
In [419]: lst = list(range(4))
In [420]: lst
Out[420]: [0, 1, 2, 3]
In [421]: len(lst)
Out[421]: 4
In [422]:
In [422]: lst
Out[422]: [0, 1, 2, 3]
In [423]: lst.reverse()
In [424]: lst
Out[424]: [3, 2, 1, 0]
In [425]:
In [425]: lst.sort()
In [426]: lst
Out[426]: [0, 1, 2, 3]
In [427]: lst.sort(reverse=True)
In [428]: lst
Out[428]: [3, 2, 1, 0]
In [429]:
In [429]: lst
Out[429]: [3, 2, 1, 0]
In [430]: lst2 = lst
In [431]: lst2
Out[431]: [3, 2, 1, 0]
In [432]: lst2[1] = 5
In [433]: lst2
Out[433]: [3, 5, 1, 0]
In [434]: lst
Out[434]: [3, 5, 1, 0]
In [435]:
In [435]: lst2 = lst.copy()
In [436]: lst2
Out[436]: [3, 5, 1, 0]
In [437]: lst
Out[437]: [3, 5, 1, 0]
In [438]: lst2[1] = 7
In [439]: lst2
Out[439]: [3, 7, 1, 0]
In [440]: lst
Out[440]: [3, 5, 1, 0]
2、元组
定义及初始化
In [441]: t = tuple()
In [442]: t
Out[442]: ()
In [443]: t = ()
In [444]: t
Out[444]: ()
In [445]: t = (1,2,3)
In [446]: t
Out[446]: (1, 2, 3)
In [447]: t = tuple(range(3))
In [448]: t
Out[448]: (0, 1, 2)
元组是不可变的
查询
In [449]: t
Out[449]: (0, 1, 2)
In [450]: t[0]
Out[450]: 0
In [451]: t[-1]
Out[451]: 2
In [452]: t.index(2)
Out[452]: 2
In [453]: t.count(2)
Out[453]: 1
命名元组
In [454]: from collections import namedtuple
In [455]: User1 = namedtuple('A',['name','age'])
In [456]: me = User('martin',18)
In [457]: me
Out[457]: A(name='martin', age=18)
In [458]: me.age
Out[458]: 18
In [459]: me.name
Out[459]: 'martin'
In [460]: me[0]
Out[460]: 'martin'
In [461]: me[1]
Out[461]: 18
相关文章