list获取重复数据_Python 103 对数据进行处理

回顾 Python 102

https://zhuanlan.zhihu.com/p/292964453


上一篇文章讲的是Python一些最基本的语法框架。我不打算细说这些知识点。事实上,与之相关的知识都可以在网上找到。比如廖雪峰的官方网站,菜鸟教程等等。网上也有一些免费的资源与网课,非常方便。

在有了对Python词汇的掌握之后,我们把重点主要放在数据这一块。

因为Python的核心就是:

  1. 获取输入
  2. 改变输入
  3. 产生输出

因此,变量等其他内在词汇是独属于Python的,而数据作为一种输入,Python对于数据的存放与处理是相对而言更为重要的。只有当一切信息安排妥当之后,Python才会如鱼得水地去利用信息完成任务。


Python事先也为即将输入的数据提供了容器。这当然是为了处理起来更方便一些。

f35612eea6f6bf7d83e1629c7d33d2a4.png
储存数据的容器

我们要对其进行操作,一定要按照某个程序,即先用容器把数据装好,之后创建一个变量(盒子),把容器放入盒子里。之后,对数据进行处理时,Python只需要对此变量进行处理就可以了。


List 列表,是一种有序的集合,可添加,可删除元素。(假设此变量的变量名为 lb)

  • len() 获取长度
  • lb = [1, 2, 3]
  • lb[0], lb[-1], etc. 索引
  • lb. append() 追加元素到末尾
  • lb. insert(1, xxx) 插入元素到指定位置
  • lb. pop() 删除末尾元素
  • lb. pop(i) 删除特定位置元素
  • lb[1] = xxx 直接替换元素

list里的元素可以是任何一种数据类型,也可以是一个容器。


Tuple 元组,一种有序的列表,但是不可添加与删除元素。(假设此变量名为yz)

  • yz = (1, 2, 3) 举例

tuple的核心是“指向不变”(来自于廖雪峰),即tuple的每个元素,指向永远不变。这是它不可变的属性。因此tuple实际上更为安全。


Dict 字典。顾名思义,dict起的是字典的作用。它使用(key—value,键—值)储存。即,我们根据key的位置,可以得到与之对应的value。(假设变量的变量名为zd)

  • zd = {'A' : 1, 'B' : 2}
  • 输入 zd['A'] ,可以得到结果:1
  • 一个key对应一个value,因此会存在冲刷掉前面value的现象
  • 'C' in zd 判断此key是否存在
  • zd. get('A')
  • zd. pop('A') 删除key

补充:dict实际上是使用空间换取时间的方法(来自于廖雪峰)。同时,dict的key是不可变对象。因此列表list不可以作为key。通过key计算位置的算法称为哈希算法(Hash)


set是一组key的集合,不存储value。两个特征:

  1. 因为key无重复,所以set中没有重复的key。重复元素自动在set中被过滤。
  2. 同时set也并不是有序的

因为set具备无序且无重复,所以set之间可以作集合的运算,比如交集与并集等。

(假设变量的变量名为jh)

  • jh = set ([1, 2, 3]) 要创建一个set,需要提供一个list作为输入集合
  • jh. add(key) 添加key
  • jh. remove(key) 删除key
  • jh1 & jh2 并集
  • jh1 | jh2 交集

本文对四种数据容器作了简单总结与介绍。

list的核心是可变,有序。

tuple的核心是“指向不变”。

dict的核心是快速查找,key为不可变对象。

set的核心是无重复与无序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值