文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python内置数据结构

2023-01-31 00:59

关注

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


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯