Python基本数据还有元祖和字典

元祖(tuple)是Python的基本数据类型,用()表示,元素之间用‘,’隔开,元祖一旦创建,就不能改变

In [45]: s = ('Stone','Stone','Cathy')  ###元祖可以有重复元素In [46]: s
Out[46]: ('Stone', 'Stone', 'Cathy')In [47]: s.count('Stone')  ## 元素计数
Out[47]: 2In [48]: s.count('S')  ###没有的话返回0
Out[48]: 0In [49]: s.index('Stone')  ##查找索引
Out[49]: 0In [50]: s.index('Stone',1)
Out[50]: 1

字典(dict)由键值对组成的数据类型,相比较与其他数据类型,字典查找速度快。字典默认没有排序(不需要排序),根据key查找value。

      字典                           list

-查找和插入非常快,不会随着key的增加而增加        查找和插入的时间随元素的增加而增加

-需要占用大量的内存,内存浪费多                占用空间少,浪费内存少

-key不可变                          通过下表查询

-默认无序                         有序

In [74]: dit
Out[74]: {'age': 18, 'marry': 'no', 'work': 'yes'}#增
#1In [75]: dit['book'] = 'note' ##增加元素
In [76]: dit
Out[76]: {'age': 18, 'book': 'note', 'marry': 'no', 'work': 'yes'}
#2
In [77]: dit.update({'Station':'quanta'})  ### 更新一个字典类型
In [78]: dit
Out[78]: {'Station': 'quanta', 'age': 18, 'book': 'note', 'marry': 'no', 'work': 'yes'}
##3生成一个字典
In [90]: dit.fromkeys([1,2,2,3,4],3)  ## 传入一个可迭代对象,生成一个字典
Out[90]: {1: 3, 2: 3, 3: 3, 4: 3}
#减
In [81]: dit.pop('Station') ##删掉一个元素,返回元素的值
Out[81]: 'quanta'In [82]: dit.popitem()  ## 删掉一个键值对,以元祖形式返回删掉的键值对
Out[82]: ('work', 'yes')
In [79]: dit.clear()  ##清空字典#元素值
In [84]: dit.items()  ##返回一个类似集合类型的对象,一般用于对字典键或者值的遍历
Out[84]: dict_items([('age', 18), ('book', 'note'), ('marry', 'no')])In [86]: dit.values()
Out[86]: dict_values([18, 'note', 'no'])

#a set-like object providing a view on D's keys
In [87]: dit.keys()
Out[87]: dict_keys(['age', 'book', 'marry'])
In [91]: dit.get('age')  ###判断元素是否存在,不存在不报错,会返回None。
Out[91]: 18
#其他
In [89]: dit.copy()  ##拷贝
Out[89]: {'age': 18, 'book': 'note', 'marry': 'no'}
#补充:In [107]: dit
Out[107]: {'age': 18, 'book': 'note', 'books': 45, 'marry': 'no'}In [108]: dit.setdefault('books',45)  ##字典中有这个元素,则返回这个元素,字典不变
Out[108]: 45In [109]: dit
Out[109]: {'age': 18, 'book': 'note', 'books': 45, 'marry': 'no'}In [110]: dit.setdefault('name','Stone') ##字典没有这个元素,返回设置的值,字典相应增加
Out[110]: 'Stone'
In [111]: dit
Out[111]: {'age': 18, 'book': 'note', 'books': 45, 'marry': 'no', 'name': 'Stone'}

  


字典遍历:

for i in dit:  ## 效率高  print i ,dit[i]

for k,v in dit.items():  ##效率低  print k ,v

集合(set)

特点:

-无序

-元素不重复

功能:

-关系测试

-去重

###序列操作
In [117]: lst = [1,2,3,4,5,5,6,7,7,7,8]In [118]: lst = set(lst)In [119]: lst,type(lst)
Out[119]: ({1, 2, 3, 4, 5, 6, 7, 8}, set)In [120]: lst.add(9)In [121]: lst
Out[121]: {1, 2, 3, 4, 5, 6, 7, 8, 9}In [122]: lst.remove(8)In [123]: lst.pop()
Out[123]: 1In [124]: lst.copy()
Out[124]: {2, 3, 4, 5, 6, 7, 9}

 

###关系操作In [126]: x = {1,2,3,4}In [127]: y = {3,4,5,6}In [130]: x & y  ##交集  ==  x.intersection(y)
Out[130]: {3, 4}##注意:并集不能用and
In [129]: x and y
Out[129]: {3, 4, 5, 6}In [131]: x | y  ##并集 ==  x.union(y)
Out[131]: {1, 2, 3, 4, 5, 6}In [132]: x - y  ##差集   == x.difference(y)
Out[132]: {1, 2}In [133]: x ^ y   ##对称差集  ==x.symmetric_difference(y)
Out[133]: {1, 2, 5, 6}##判断
In [140]: x.issubset(y)  #x 是y 的子集
Out[140]: FalseIn [141]: x.issuperset(y) ##x 是否包含y
Out[141]: False

  

 

   
   

转载于:https://www.cnblogs.com/Stone-Fei/p/8463120.html

潭州教育-Python学习笔记@基本数据类型:元祖字典相关推荐

  1. 潭州教育-Python学习笔记@基本数据类型作业2

    列表方法: 1 lst = ['a','b','c','d'] 2 ##加 3 lst.append('e') ###增加元素 4 lst.extend(['f','g']) ### 拓展列表 5 l ...

  2. 潭州教育学python_潭州教育-Python学习笔记@基础讲解作业1

    作业: 1.定义讲过的每种数值类型,序列类型 数值类型: 整型:int 字符型:float 字符串:str 布尔型: bool 序列类型: 列表: 有序,可变,元素类型没有固定要求 lst = [1, ...

  3. 潭州教育学python_潭州教育-Python学习笔记6@函数基础,必备参数,位置参数,可选参数...

    6.1 函数定义: def BiJiao(a,b): #驼峰规则(首字母大写),见名知意-函数名大写 if a>b: print(a) elif a==b : print('xiangdeng' ...

  4. 潭州教育-Python学习笔记@额外作业

    1 :购物车程序 #待思考 2:员工信息表 用户可以模糊查询员工信息 显示匹配了多少条,匹配字符需要高亮显示. #!/usr/bin/env python # -*- coding: UTF-8 -* ...

  5. 潭州教育-Python学习笔记@条件与循环

    第一部分:条件语句 Python中条件语句由if,elif,else等控制,当if满足条件时执行相应代码块,不满足再判断是否满足elif条件,还不满足就执行else代码块 score = input( ...

  6. 潭州教育python培训怎样

    随着Python被广泛用于后端开发.游戏开发网站开发科学运算大数据分析.云计算图形开发等领域,这也促发了各类人群对学习和应用Python的需求.与其他编程语言不同,Python具有简单易学免费开源可扩 ...

  7. 中谷python_中谷教育Python学习笔记

    程序中有中文: #coding: utf-8 从键盘读取: b = int ( raw_input('please input 华氏温度 :') ) 注意数据类型 5.0/9 type() 查看变量数 ...

  8. Python学习笔记第二次之列表、字典、集合、数据结构应用之多级菜单

    欢迎大家来我的博客园:https://www.cnblogs.com/xiaomingdexiaoshubao/articles/9249773.html 模块初识 os import oscmd_r ...

  9. python学习(列表,元祖)

    1.列表 在Python中,用方括号([]),来表示列表,并用逗号来分隔其中的元素.下面是一个列表,以及操作方法. li = [1,2,3,5,'alex',[2,3,4,5,'taibai'],'a ...

最新文章

  1. 光流 | 基于光流的运动物体语义分割(源代码)
  2. CSS 七层叠层顺序(stacking level)
  3. linux进程增删改查,iptables的增删改查
  4. 基于超大规模集群的本地存储系统优化
  5. 《云计算:概念、技术与架构》一1.5 书写惯例
  6. mysql里类似sequence_MySql中实现类似Oracle的Sequence方案
  7. 关于#pragma warning 用法的研究
  8. python编程是什么东西_编程python是什么
  9. spss常态检验_科学网—如何在SPSS中进行正态分布检验?
  10. WinDriver Kernel Plugin开发
  11. 山东大学——结算中的贸易单据
  12. inflect java_Python lemminflect包_程序模块 - PyPI - Python中文网
  13. linux系统制作qcow2,制作centos的qcow2格式镜像
  14. 全局下的isFinite
  15. Matlab中的冲激函数
  16. Spring 5.X+CXF 3.X 开发SOAP Web Service服务端实例
  17. 锐龙r7 6800u和i5 12500h选哪个好 r76800u和i512500h对比
  18. sudo dolphin_如何使用Dolphin在PC上玩Wii和GameCube游戏
  19. js将字符串中所有数字转化为下标
  20. 嵩天python测验4_嵩天Python学习笔记-04

热门文章

  1. Deformation Transfer for Triangle Meshes
  2. keras实现DeepDream
  3. 周末休息整理B站项目过于敏感,2h后删!
  4. pygame精灵组有哪些方法_利用 pygame 开发一款游戏:「跳跳兔」(六)
  5. kill -9 无法杀掉进程
  6. python函数编程实例_Python函数式编程实例详解
  7. Eclipse用法和技巧十二:快速复制一行
  8. 谈中国企业管理、中国企业管理软件为啥走错了道
  9. HttpURLConnection上传文件(图片)小试
  10. SQL分割字符串详解