设为首页 收藏本站
查看: 1251|回复: 0

[经验分享] python基本数据类型(四)-集合与运算符-python3笔记

[复制链接]

尚未签到

发表于 2018-8-9 10:17:31 | 显示全部楼层 |阅读模式
注:是python中唯一的一个映射类型  创建:{key:value}      #大括号创建字典的键时要加引号
  dict{key=value}     #括号里赋值方式,名字=对象,不要引号
  字典里的键和值用‘:’隔开,一对键和值组成一个项,项和项之间用‘,’隔开
  特点:
  键唯一,重复会被重新赋值
  无序
  key必须遵循python命名规则
  添加和取值
  cidt[key]=value     #key存在则修改该值,没有则添加
  属性方法:
  .update({})     #在字典中添加多个项
  .items()        #返回字典的各个项
  .keys()         #返回字典的键
  .values()       #返回字典的值
  .get(k)         #如果键k在,返回k的值,不存在则返回None
  .get(k,x)       #如果键k在,返回键k的值,不存在则返回x
  .pop(k)         #返回并移除键k所对应的元素,不存在则抛出异常
  .pop(k,x)       #返回并移除键k所对应的元素,不存在则返回x
  总结:
  key唯一,故可以是数字,字符串,元祖
  总结:
  可变对象: list set dict
  不可变对象: str tuple
  #字典 唯一的映射类型,遵循hash,必须是不可变的对象
  #定义字典
  >>> di={'w':123,'l':456,'x':789}
  >>> print(type(di))
  <class 'dict'>
  >>> di=dict(_i=123)
  >>> di
  {'_i': 123}
  >>> print(type(di))
  <class 'dict'>
  >>> di={1:123,2:234}
  >>> print(type(di))
  <class 'dict'>
  >>> di1={'e':[123,456]}
  >>> type(di1)
  <class 'dict'>
  >>> di2={'e':(123,456)}
  >>> di3={'e':'123'}
  >>> type(di3)
  <class 'dict'>
  #定义空字典
  >>> di1=dict()
  >>> print(type(di1))
  <class 'dict'>
  #字典取值(利用键取值)
  >>> di[1]
  123
  >>> di[2]
  234
  #字典修改
  >>> di[1]='qwe'
  >>> di
  {1: 'qwe', 2: 234}
  #添加key:value(在修改key值得时候,key存在即修改否则添加)
  >>> di[3]=890
  >>> di
  {1: 'qwe', 2: 234, 3: 890}
  >>> di={'q':1,'w':2,('q','w'):122}
  >>> di
  {'q': 1, 'w': 2, ('q', 'w'): 122}
  #清空字典
  >>> di.clear()
  >>> print(di)
  {}
  #查看字典的属性方法
  >>> dir(di)
  ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
  #fromkeys
  #用给定的键建立新的字典,每个键默认为None(批量生产新的字典)
  >>> di.fromkeys({'a','b','c'})
  {'b': None, 'c': None, 'a': None}
  #用给定的键建立新的字典,每个键自定义为123
  >>> di.fromkeys({'a','b','c'},123)
  {'b': 123, 'c': 123, 'a': 123}
  >>> help(di.fromkeys)
  Help on built-in function fromkeys:
  fromkeys(iterable, value=None, /) method of builtins.type instance
  Returns a new dict with keys from iterable and values equal to value.
  #字典取值;值存在,则返回值,不存在默认返回None,也可自定义
  >>> di
  {'w': 123, 'e': 456, 'r': 789}
  >>> di.get('w')
  123
  >>> di.get('q')
  >>> di
  {'w': 123, 'e': 456, 'r': 789}
  >>> di.get('q','我不存在')
  '我不存在'
  #items,在列表中以元组的形式显示字典的每一项
  >>> di.items()
  dict_items([('w', 123), ('e', 456), ('r', 789)])
  >>> list(di.items())    #查看字典的每一项
  [('w', 123), ('e', 456), ('r', 789)]
  #以列表的形式查看字典的所有键
  >>> di.keys()
  dict_keys(['w', 'e', 'r'])
  #以列表的形式查看字典的所有值
  >>> di.values()
  dict_values([123, 456, 789])
  #pop,指定键,删除对应的值。如果键不存在,可以自定义返回值
  >>> help(di.pop)
  Help on built-in function pop:
  pop(...) method of builtins.dict instance
  D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
  If key is not found, d is returned if given, otherwise KeyError is raised
  >>> di
  {'w': 123, 'e': 456, 'r': 789}
  >>> di.pop('e')
  456
  >>> di
  {'w': 123, 'r': 789}
  >>> di.pop('w','r')
  123
  >>> di
  {'r': 789}
  >>> di.pop('q','我不存在')
  '我不存在'
  #popitem, 随机删除字典某一项(不需要对象)
  >>> di
  {'r': 789, 'w': 123}
  >>> di
  {'r': 789, 'w': 123}
  >>> di.popitem()
  ('w', 123)
  >>> di
  {'r': 789}
  #类似get,存在返回值,不存在就更新到字典,对应的值默认为None,也可自定义
  >>> di.setdefault('r')
  789
  >>> di.setdefault('w',123)
  123
  >>> di
  {'r': 789, 'w': 123}
  >>> di.setdefault('q')
  >>> di
  {'r': 789, 'w': 123, 'q': None
  #将一个字典内容添加并更新覆盖到原来的字典
  >>> di
  {'r': 789, 'w': 123, 'q': None}
  >>> di1={'p':234,'q':123}
  >>> di.update(di1)
  >>> di
  {'p': 234, 'r': 789, 'w': 123, 'q': 123}
  >>> di={'x':[123,456]}
  >>> di
  {'x': [123, 456]}
  >>> di['w']=123
  >>> di
  {'x': [123, 456], 'w': 123}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-549026-1-1.html 上篇帖子: Python学习笔记__12.11章 HTML Parser 下篇帖子: python 多线程-threading模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表