前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python内置数据结构

python内置数据结构

作者头像
py3study
发布2020-01-15 10:56:56
3360
发布2020-01-15 10:56:56
举报
文章被收录于专栏:python3

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

列表的定义与初始化

代码语言:javascript
复制
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]

访问列表元素

代码语言:javascript
复制
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方法返回元素在列表里的个数

列表元素的修改

代码语言:javascript
复制
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

列表元素的增加

代码语言:javascript
复制
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操作可迭代对象

列表元素的删除

代码语言:javascript
复制
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]: []

其他操作

代码语言:javascript
复制
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、元组

定义及初始化

代码语言:javascript
复制
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)

元组是不可变的

查询

代码语言:javascript
复制
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

命名元组

代码语言:javascript
复制
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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/06/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档