1、列表--是一个序列,用于顺序的存储数据

列表的定义与初始化

In [374]: lst = list()In [375]: lstOut[375]: []In [376]: lst = []In [377]: lst = [1,2,3]In [378]: lstOut[378]: [1, 2, 3]In [379]: lst = list(range(1,10))In [380]: lstOut[380]: [1, 2, 3, 4, 5, 6, 7, 8, 9]

访问列表元素

In [380]: lstOut[380]: [1, 2, 3, 4, 5, 6, 7, 8, 9]In [381]: In [381]: In [381]: lst[0]Out[381]: 1In [382]: lst[-1]Out[382]: 9In [383]: lst.index(5)Out[383]: 4In [384]: In [384]: lst = [1,2,3,2,4,3,5]In [385]: lst.index(2)    # index 方法返回查找到的第一个索引Out[385]: 1In [386]: lst.index(2,2)Out[386]: 3In [387]: lst.index(2,2,5)Out[387]: 3In [388]: lst.index(2,-4,-1)Out[388]: 3In [389]: lst.count(2)Out[389]: 2In [390]: lst.count(3)Out[390]: 2
  • 通过索引访问元素

  • index方法根据值返回第一个索引

  • count方法返回元素在列表里的个数

列表元素的修改

In [391]: lstOut[391]: [1, 2, 3, 2, 4, 3, 5]In [392]: lst[2]Out[392]: 3In [393]: lst[2] = 5In [394]: lstOut[394]: [1, 2, 5, 2, 4, 3, 5]In [395]: lst[2] Out[395]: 5

列表元素的增加

In [396]: lstOut[396]: [1, 2, 5, 2, 4, 3, 5]In [397]: lst.append(19)In [398]: lstOut[398]: [1, 2, 5, 2, 4, 3, 5, 19]In [399]: lst.insert(0,20)In [400]: lstOut[400]: [20, 1, 2, 5, 2, 4, 3, 5, 19]In [401]: lst.insert(-1,'b')In [402]: lstOut[402]: [20, 1, 2, 5, 2, 4, 3, 5, 'b', 19]In [403]: lst.insert(100,'a')In [404]: lstOut[404]: [20, 1, 2, 5, 2, 4, 3, 5, 'b', 19, 'a']In [405]: lst.insert(-100,'a')In [406]: lstOut[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]: lstOut[408]: ['a', 20, 1, 2, 5, 2, 4, 3, 5, 'b', 19, 'a', 1, 2, 3]#append操作单个元素,extend操作可迭代对象

列表元素的删除

In [410]: lstOut[410]: [1, 2, 3, 2, 4, 3, 5, 3, 4]In [411]: lst.remove(1)In [412]: lstOut[412]: [2, 3, 2, 4, 3, 5, 3, 4]In [413]: lst.pop()Out[413]: 4In [414]: lstOut[414]: [2, 3, 2, 4, 3, 5, 3]In [415]: lst.pop(4)Out[415]: 3In [416]: lstOut[416]: [2, 3, 2, 4, 5, 3]In [417]: lst.clear()In [418]: lstOut[418]: []

其他操作

In [419]: lst = list(range(4))In [420]: lstOut[420]: [0, 1, 2, 3]In [421]: len(lst)Out[421]: 4In [422]: In [422]: lstOut[422]: [0, 1, 2, 3]In [423]: lst.reverse()In [424]: lstOut[424]: [3, 2, 1, 0]In [425]: In [425]: lst.sort()In [426]: lstOut[426]: [0, 1, 2, 3]In [427]: lst.sort(reverse=True)In [428]: lstOut[428]: [3, 2, 1, 0]In [429]: In [429]: lstOut[429]: [3, 2, 1, 0]In [430]: lst2 = lstIn [431]: lst2Out[431]: [3, 2, 1, 0]In [432]: lst2[1] = 5 In [433]: lst2Out[433]: [3, 5, 1, 0]In [434]: lstOut[434]: [3, 5, 1, 0]In [435]: In [435]: lst2 = lst.copy()In [436]: lst2Out[436]: [3, 5, 1, 0]In [437]: lstOut[437]: [3, 5, 1, 0]In [438]: lst2[1] = 7In [439]: lst2Out[439]: [3, 7, 1, 0]In [440]: lstOut[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]: tOut[446]: (1, 2, 3)In [447]: t = tuple(range(3))In [448]: tOut[448]: (0, 1, 2)元组是不可变的

查询

In [449]: t Out[449]: (0, 1, 2)In [450]: t[0]Out[450]: 0In [451]: t[-1]Out[451]: 2In [452]: t.index(2)Out[452]: 2In [453]: t.count(2)Out[453]: 1

命名元组

In [454]: from collections import namedtupleIn [455]: User1 = namedtuple('A',['name','age'])In [456]: me = User('martin',18)In [457]: meOut[457]: A(name='martin', age=18)In [458]: me.ageOut[458]: 18In [459]: me.nameOut[459]: 'martin'In [460]: me[0]Out[460]: 'martin'In [461]: me[1]Out[461]: 18