python的4种数据结构

——学习笔记

  • 列表list
  • 字典dict
  • 元组tuple
  • 集合set

list = [val1,val2,val3,val4] dict = {key1:val1,key2:val2} tuple = (val1,val2,val3,val4) set = {val1,val2,val3,val4}

列表

列表的特征

  1. 列表中的每一个元素是可变的
  2. 列表中的元素是有序的,也就是说每一个元素都有一个位置
  3. 列表可以容纳Python的任何对象

列表元素可变,即可以在列表中增删改查元素
weekday=['monday','tuesday','wednesday'] print(weekday[0])
列表可以装python的所有对象,例子
all_in_list =[ 1, #整数 1.0, #浮点数 'a word', #字符串 print(1), #函数 True, #布尔值 [1,2], #列表中套列表 (1,2), #元组 {'key':'value'} #字典 ]

列表的增删改查

插入

fruit = ['pineapple','pear'] fruit.insert(1,'grape')
fruit[0:0] = ['orange']

删除

fruit.remove('pear')
del a[0:2]

修改

fruit[0] = 'grapefruit'

查询

elements = ['h','he','li','be','b','c','n','o,'f','ne'] print(elements[0]) print(elements[-2]) print(elements[0:3]) print(elements[-10:-7]) print(elements[-10:]) print(elements[:9])
print(elements['h']) #错误
列表直接说位置索引如果数据量很大的话,肯定会记不住什么元素在什么位置,那么有没有一种数据类型可以用人类的方式进行索引呢?于是字典出现了

字典

字典的特征

1.字典中数据必须以键值对的形式出现
2.逻辑上,键是不能重复的,值可以重复
3.字典中的键(key)是不可变的,也就是无法修改的;而值(value)是可变的,可以修改,可以使任何对象
code = { 'bidu':'baidu', 'sina':'sina' }
code = { 'bidu': }
错误:键和值不能脱离对方而存在
code = { []:'a test' }
错误:将一个可变的元素作为Key来构建字典
code = { 'bidu':123, 'bidu':123 }
错误:键不能重复

字典的增删改查

增加

code = { 'bidu':'baidu', 'sina':'sina' }
与列表不同的是,字典并没有一个可以往里面增加单一元素的“方法”,但可以通过以下方式进行添加:
code['weixin':'weixin']
列表中用来添加多个元素的方法extend(),在字典中添加多个元素的方法update()
code.update({'fb':'facebook','tsla':'tesla'})

删除

del code['fb']

修改

code['fb':'fb']

查询

code['tsla'] #字典是通过键来索引值

  • 注意:字典是不能够切片的,因此chart[1:4]是错误的*

元组

元组是一个稳固版的列表,因为元组不可修改,增删改不存在,可以查询
letters = ('a','b','c') letter[0]

集合

集合则更接近数学上集合的概念。集合中的元素是无序的,不重复的任意对象,可以通过集合去判断数据的从属关系,还可以通过集合把数据结构中重复的元素删除

集合的增删改查

增加

a_set = {1,2,3,4} a_set.add(5)
a_set.update([5,6,7,8])

删除

a_set.discard(5)
a_set.remove(6) #如果要删除的元素在集合中不存在,则出错

修改

a_set ={a,g,c,d} a_set={'abckde'} a_set={"abkc"} #注意:这里是只有一个元素

查询

a_set

差集、交集、合集

a = set('abc') b = set('cdef')

差集

a-b
输出是set(['a','b'])
b-a
输出是set(['d','e','f'])

交集

a & b
输出是set(['c'])

合集

a | b
输出是set(['a','b',d','e','f'])

转载于:https://www.cnblogs.com/crystalmoore/p/6410292.html

python的4种数据结构相关推荐

  1. python的内建数据结构包括_Python中3种内建数据结构:列表、元组和字典

    Python中有3种内建的数据结构:列表.元组和字典.参考简明Python教程 1. 列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目.假想你有一个购物列表,上面 ...

  2. python列表元素替换的数据结构_列表是Python中的一种数据结构。列表元素无序。...

    [综合练习]It has made the headlines that the president's wife threatened her husbands with public exposu ...

  3. Python三种数据结构

    Python 为我们提供了三种常用数据结构,列表(Lists),字典(Dictionary),元组(Tuple).为何要了解三种数据结构,这事的意义就不必多说了,让我们开始了解这三种最重要的数据结构吧 ...

  4. python collection counter_python collection模块中几种数据结构(Counter、OrderedDict、namedtup)详解...

    collection模块中有几种数据结构我们可能用得到. Counter是字典的子类,负责计数的一个字典,支持 + 加法 - 减法 & 求公共元素 | 求并集 print('Counter类型 ...

  5. 年后跳槽BAT必看:10种数据结构、算法和编程课助你面试通关

    作者 | javinpaul 译者 | 大鱼 编辑 | 一一 出品 | AI 科技大本营 进入 BAT 这样的巨头企业工作,无疑是很多程序员的梦想.但事实上,能通过这些公司高难度编程面试的只是一小撮人 ...

  6. 每个程序员都必须知道的 8 种数据结构

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 快速介绍8种数据结构 数据结构是一种特殊的组织和存储数据的方式,可 ...

  7. Python中的高级数据结构详解

    这篇文章主要介绍了Python中的高级数据结构详解,本文讲解了Collection.Array.Heapq.Bisect.Weakref.Copy以及Pprint这些数据结构的用法,需要的朋友可以参考 ...

  8. 【Python基础】盘点 Python 10 大常用数据结构(上篇)

    我的施工之路 上图施工计划,已完成专题: 1我的施工计划 2数字专题 3字符串专题 4列表专题 5流程控制专题 6编程风格专题 7函数使用 8.面向对象编程(上篇) 9.面向对象编程(下篇) Pyth ...

  9. 【Python基础】盘点 Python 10 大常用数据结构(下篇)

    我的施工之路 虽然艰辛,却有读者们陪伴 Python 常用数据结构 此专题<盘点Python10大常用数据结构>目录: 学习目的 学习目标 1 list 2 tuple 3 set 4 d ...

最新文章

  1. netty框架_Netty实战:设计一个IM框架
  2. CTF ---pwndbg 调试常用命令
  3. tstringlist怎么查看是否存在该数据_财务报表审计该如何进行?
  4. webstrom打开多个项目,webstrom常用快捷键
  5. 事件EVENT,WaitForSingleObject(),WaitForMultipleObjecct()和SignalObjectAndWait() 的使用(上)
  6. MongoDB一次节点宕机引发的思考(源码剖析)【华为云分享】
  7. python——Django(ORM连表操作)
  8. mysql约束与索引的区别
  9. 谷歌Chrome浏览器如何截图长图
  10. Android流光动画,流光相机app_流光相机官网-多特软件站安卓网
  11. 异数OS 织梦师-水桶(三)-- RAM共享存储方案
  12. Xposed 模块 Nnnen助手(Soul 抖音 皮皮虾Hook)
  13. 昭阳k20-80拆机过程
  14. 迅捷路由器造成计算机无法上网,迅捷无线路由器设置好却不能上网
  15. Typescript - 安装与配置
  16. mysql远程连接报错2058
  17. 读书笔记--Java核心技术--高级特征
  18. Caltech-UCSD Birds-200-2011
  19. 老年人自学计算机,老人学电脑入门教程 老人怎么学习电脑
  20. 关于UNITY中System.Drawing引用失败的处理方法

热门文章

  1. PlayOnLinux 让你更方便地在linux上玩windows游戏
  2. ImportError: cannot import name ‘open_code‘ from ‘io‘ (unknown location)解决方案
  3. JUC-Callable接口-概述
  4. Mybatis3基础示例
  5. 金山软件CEO张宏江:技术与经营,优化不同的参数而已
  6. 时间字符串和时间戳的转换
  7. C# 判断是否是合法的IP地址
  8. SQLServer As
  9. openFOAM动量方程中张量的处理
  10. 2018年 团体程序设计天梯赛——题解集