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

[经验分享] Python(六)元组、集和、字典

[复制链接]

尚未签到

发表于 2018-8-7 08:26:34 | 显示全部楼层 |阅读模式
  使用技巧:
  ·python实现数据交换的简洁方式:x,y = y,x  这样x和y的值就可以互换了。
  ·只打印3.1415926小数点后两位
  In [17]: print "%f" %(3.1415926)
  3.141593
  In [18]: print "%.2f" %(3.1415926)
  3.14
  ·以3位数打印出2
  In [20]: print "%.3d" %(2)
  002
  ·打印2的时候以1400开头
  In [19]: print "%d" %(2)
  2
  In [23]: print "1400%d" %(2)
  14002
  ·可变数据类型:list(列表)、dict(字典)、set(集和)
  ·不可变数据类型:数字、字符串、元组
  ·有序数据类型:字符串、列表、元组
  ·无序数据类型:数字、字典,集和
  #无序的数据类型,增加一个数据,这个数据不一定会排在最后
  #有序的数据类型,每增加一个数据,这个数据都会被排到最后
  元组:带了紧箍咒的列表
  元组和列表不同在于元组为不可变数据类型,他没有append等方法,存储数据更安全
  一、创建:
  tu = (1,2,3,4)
  注意:单个元组定义必须在后面加逗号,如tu = (1,)
  工厂方法:t= tuple([1,2,3])
  二、元组的操作
  1.元组也属于序列,支持索引、切片、拼接、重复、成员操作符
DSC0000.jpg

  2.元组特性
  · 对元组分别赋值,引申对多个变量也可通过元组方式分别赋值
DSC0001.jpg

  3.删除元组
DSC0002.jpg

  三、元组的方法
  · t.count(value)-->int返回value在元组中出现的次数;
  · t.index(value)返回value在元组中的偏移量(即索引值)
  题目:
  打印出t元组中索引2-7之间,打印出值为bool类型元素的索引值
  解答:
#!/usr/bin/env python  
# coding:utf-8
  
t=(1,2,3,4,True,False,'hello',[1,2,3])
  
for i in t:
  
    if type(i) == bool:
  
        print t.index(i,2,7)
  四、内置函数:cmp,len,max,min,enumerate,zip
  集和:
  集和是无序的,不重复的数据类型,因此可以去除列表或者元组中重复的元素
  集和里面不能放可变数据类型
  集和里面remove()和discard()都是删除,但是remove里面如果没有元素会报错,而discard没有元素不会报错
  一、集合的关系测试操作
  · 交集: list_1.intersection(list_2)
  · 并集: list_1.union(list_2)
  · 差集: list_1.difference(list_2)
  list_2.difference(list_1)
  · 对等差分 list_1.symmetric_difference(list_2)
  · 子集 list_1.issubset(list_2)
  · 父集 list_1.issuperset(list_2)
  · 有无交集 list_1.isdisjoint(list_2)
  · 交集: list_1 & list_2
  · 并集: list_1 | list_2
  · 差集: list_1 - list_2
  list_2 - list_1
  · 对等差分:  list_1 ^ list_2
  二、集合的添加
  · s.add(1)
  在集合中添加一项
  · s.update([1,3,4])
  在集合中添加多项,跟的参数应该是可迭代类型
  三、集和的删除
  · s.remove(1)
  删除集合中指定的元素
  · s.pop()
  随机删除集合中的某个元素,并返回删除的元素
  四、集和的其他操作
  · len(s)
  显示集合set的长度
  · "1" in s
  检测某元素是否为集合s的成员,返回布尔值
  · s.copy()
  集合的浅拷贝,此处不深入研究,后面会说
  · s.clear()
  清空集合的所有元素
  字典
  一、字典的定义
  字典不支持索引、切片
  字典里面的key不能重复,但是value没有任何限制
  · 简单字典创建
DSC0003.jpg

  · 使用工厂函数创建:
DSC0004.jpg

  · 内建方法:fromkeys
  字典中的key有相同的value值,默认为None
DSC0005.jpg

DSC0006.jpg

  题目:
  生成100个学号,学号总共由7位数组成,前两位“14”开头,代表学校编号;
  请生成学号1400001~1400100
  解答:
#!/usr/bin/env python  
# coding:utf-8
  
stu_ids = []
  
for i in range(1,101):
  
    s_id = "1400%.3d" %(i) #将i以3位数打印出来,并且在i前面加上1400
  
    stu_ids.append(s_id)
  
print stu_ids
  二、字典的访问
  · 直接通过key访问
DSC0007.jpg

  · 循环遍历访问
DSC0008.jpg

  三、字典key-value的添加
  · dic[key] = value
  通过这个操作,我们会发现字典是无序的数据类型
DSC0009.jpg

  四、字典的删除
  · dic.pop(key)
  根据key值删除字典的元素;
  · dic.popitem()
  随机删除字典元素,返回(key,value)
  · dic.clear()
  删除字典中的所有元素
  · del dic
  删除字典本身
  五、字典的常用方法
  · dict.get()
  如果key存在于字典中,返回对应value值
  · dic.keys()
  返回字典的所有key值
  · dict.has_keys()
  字典中是否存在某个key值

运维网声明 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-547920-1-1.html 上篇帖子: 51. Python 数据处理(2) 下篇帖子: python---字符编码与转码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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