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. ACM_模拟——数学问题
  2. Mysql 常用函数汇总
  3. 定时/计数器(定时和计数的功能)、定时器中断
  4. QML Profiler性能优化教程
  5. 骨灰级程序员20条编程经验,赶紧收藏!!
  6. 分析称2015年手机文娱将激增至540亿美元
  7. 开发一个简单实用的android紧急求助软件
  8. 计算机语言栏不能添加,电脑电脑输入法添加不了怎么办
  9. 车牌识别SDK支持Android、ios
  10. 进化树相关概念和类型介绍
  11. Oracle OAF 学习小结(1)- 个性化详解
  12. GEO数据库的使用(一)
  13. 信息爆炸时代的纳米技术-分子通信
  14. win10搜索框不能用的解决方案
  15. 视频采集工具 youtube-dl 接口介绍
  16. AndroidStudio界面跳转
  17. 机器学习笔记 - 使用CNN和LSTM为图像生成文字描述
  18. 手把手教你做树莓派魔镜-MagicMirror(三)-系统安装和设置
  19. Alpha and Beta
  20. Android扫描蓝牙问题,你是不是位置权限和GPS都打开了还是扫不出东西

热门文章

  1. 万维网之父要推翻自己一手开创的互联网世界!
  2. 【视觉SLAM十四讲】第三讲 三维空间刚体运动
  3. 2020大学生专业薪资排名一览
  4. JEECG社区微信小程序开发实战-张代浩-专题视频课程
  5. 刨根问底Objective-C Runtime
  6. 初识 Linux — 文本编辑器
  7. 如何从Win10升级到Windows11正式版
  8. 深度学习:Keras入门(一)之基础篇
  9. 如何在Python中调用MATLAB
  10. 考研英语 刘晓艳小作文模板