加入收藏 | 设为首页 | 会员中心 | 我要投稿 大庆站长网 (https://www.0459zz.com/)- 科技、智能边缘云、事件网格、云计算、站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python 基础 Dict 和 Set 类型

发布时间:2020-07-09 04:00:09 所属栏目:Python 来源:互联网
导读:python 什么是dict 例如: d = { Adam: 95, Lisa: 85, Bart: 59 } 我们把名称称为key,对应的

python 什么是dict   例如:     d = { 'Adam': 95,'Lisa': 85,'Bart': 59 }     我们把名称称为key,对应的成绩称为value,dic就是通过key 来查找value.     花括号{} 表示这是一个dict,然后按照key:value,写出即可,最后一个       key:value 的逗号可以省略。len() 函数可以计算出任何集合的大小         len(d) 43 python 访问dict   可以简单使用d[key] 的形式来查找对应的value,这和list 很像,不同之处是,list   必须要使用索引返回对应的元素,而dict 使用key.     例如: print d['Adam']         95   通过key 访问dict 的value, 只要key 存在,dic 就返回对应的value.   如果key 不存在,会直接报错: KeyError     if 'Paul' in d:        print d['Paul']   使用dict 本身提供的一个get 方法,在key 不存在的时候,返回None     print d.get('Bart')       59 python dict的特点   dict 的第一个特点就是查找速度快,无论dict有10 个元素还是10 万元素,查找速度   都是一样,而list 的查找速度会随着元素的增加而逐渐下降。   dict 的缺点是占用内存大,还会浪费很多内容,list 正好相反。   dict 是按 key 查找,所以,在dict 中,key 不能重复。   dict 的第二个缺点就是存储的key-value序对是没有顺序的。   d = { 'Adam': 95,'Bart': 59 }     print d       {'Lisa': 85,'Adam': 95,'Bart': 59} 打印的顺序不是我们创建的的顺序,     不同的机器打印的顺序不同。   dict 的第三个特点是作为key 的元素必须不可变, python 更新dict     dict 是可变的,也就是说,我们可以随时往dict 中添加新的key-value       比如已有dict         d = { 'Adam': 95,'Bart': 59 }           要把新同学的成绩 72 加进去,用赋值语句。         d['Paul'] = 72         如果key 已经存在,则赋值会用新的value 替换掉原来的value。 python 遍历dict     由于dict 也是一个集合,所以,遍历dict 和遍历list 类似,都可以通过for 循环实现。     直接使用for 循环可以遍历dict 的key       d = { 'Adam': 95,'Bart': 59 }         for key in d:           print key         Lisa Adam Bart     由于通过key 可以获取对应的value,因此,在循环体内,可以货到value 的值。 python 什么是set     set 持有一系列元素,这一点和list 很像,但是set 的元素没有重复,而是无序的。     创建set 的方式是调用set() 并传入list,list的元素作为set 的元素     s = set(['A','B','C'])     因为set 不能包含重复的元素,所以,当我们出入包含重复的远大的list 的时候     set会自动去掉重复的元素。 python 访问set     由于set 存储的是无序的集合,所以我们没有办法通过索引来访问。     访问set 中的某个元素实际上就是判断一个元素是否在set 中       例如:         s = set(['Adam','Lisa','Bart','Paul'])         'Bart' in s         True python set的特点     set 的内部结构和 dict 很像,唯一的区别就是不存储value,因此判断       一个元素是否在set中速度很快。       任何可变对象不能放入set中。     set 存储的元素是没有顺序的。       星期一到星期日可以用字符串'MON','TUE',... 'SUN'表示。         weekdays = set(['MON','WED','THU','FRI','SAT','SUN'])         再判断输入是否有效,只需要判断该字符串是否在set中:         x = '???' # 用户输入的字符串 if x in weekdays: print 'input ok' else: print 'input error' python 遍历set     由于 set 也是一个集合,所以,遍历 set 和遍历 list 类似,都可以通过 for 循环实现。     直接使用 for 循环可以遍历 set 的元素:       s = set(['Adam','Bart'])         for name in s:           print name         Lisa Adam Bart python 更新set     由于set 存储的是一组不重复的无序元素,因此,更新set 主要做两件事。     一是把新的元素添加到set中,而是把已有的元素从set 中删除。     添加元素时,用set 的add() 方法。     s = set([1,2,3])       s.add(4)       print s       set([1,3,4])     添加已经存在的元素不会报错,但是不能添加进去。     删除set中的元素时,用set的remove()方法:     s = set([1,4])       s.remove(4)       print s       set([1,3])     如果删除的元素不存在set中,remove()会报错

(编辑:大庆站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读