1. day03
  2.  
  3. 1.列表list
  4.  
  5. 特点:有序的(有索引、定义和显示顺序是一致的)、可变的(既可以改变元素内容也可以自动扩容)、可重复的、
  6.  
  7. 可以存储任何的数据类型数据
  8.  
  9. 定义个列表如下:
  1. lt = ['宋江','李逵','鲁智深','武松','西门庆','潘金莲','时迁',['刘备','关羽','张飞']]
  1. 1.1.如何访问列表中的元素?
  2.  
  3. 1).获取元素?
  4.  
  5. 列表名配合下标获取 --> 例如:lt[0],lt[-1]...
  6.  
  7. 2).设置元素?
  8.  
  9. 列表名配合下标 = ... --> 例如:lt[4] = "武大郎"
  10.  
  11. 1.2.列表的+和*操作:
  12.  
  13. 对于+操作而言,将两个列表对象的内容都组合起来以一个新的列表返回
  14.  
  15. 对于*操作而言,将列表中的元素重复出现n次,以新列表返回
  16.  
  17. 思考:以下带有有没有问题?
  18.  
  19. 会报错,原因是"嬴政"是一个字符串数据,字符串只能和字符串之间做拼接运算
  20.  
  21. lt1 = lt + "嬴政"
  22.  
  23. 1.3.和列表有关的一些函数:
  24.  
  25. append(obj):追加obj元素到列表的末尾
  26.  
  27. clear():清空列表。元素不见了,列表对象还在
  28.  
  29. 1.4.del关键字配合列表使用
  30.  
  31. del lt[0],lt[1] 清空列表中的某些元素,列表对象还在
  32.  
  33. del lt 回收列表对象,列表对象不存在了
  34.  
  35. 1.5.列表的切片:
  36.  
  37. 格式和作用参照str,它们一样的...
  38.  
  39. 代码如下:
  1. lt5 = ['黑猫警长','猫和老鼠','熊出没','灌篮高手','海尔兄弟','柯南']
  2.  
  3. lt6 = lt5[1:4]
  4.  
  5. print(lt6)
  6.  
  7. print(lt5)
  8.  
  9. print(lt5[2:-2])
  10.  
  11. print(lt5[-1:2:-1])
  12.  
  13. print(lt5[::])
  14.  
  15. print(lt5[::-1])
  16.  
  17. # lt5[1:-2] = []
  18.  
  19. lt5[:] = []
  20.  
  21. print(lt5)
  1. 1.6.列表的定义格式:
  2.  
  3. 格式1:列表名 = [值1,值2,值3...]
  4.  
  5. 格式2:列表名 = [变量1,变量2,变量3,...] = [值1,值2,值3...]
  6.  
  7. 格式3:列表名 = [值1]
  8.  
  9. 格式4:列表名 = []
  10.  
  11. 2.元祖:tuple
  12.  
  13. 特点:有序的(有索引、定义和显示顺序是一致的)、不可变的(和str一样理解)、可重复的、
  14.  
  15. 可以存储任何的数据类型数据
  16.  
  17. 2.1.如何访问元祖元素?
  18.  
  19. 1).获取元素?
  20.  
  21. 2).设置元素?
  22.  
  23. 非法操作,和str一致
  24.  
  25. 2.2.原则的+和*操作:
  26.  
  27. 对于+操作而言,将两个元祖对象的内容都组合起来以一个新的元祖返回
  28.  
  29. 对于*操作而言,将元祖中的元素重复出现n次,以新元祖返回
  30.  
  31. 思考:元祖有没有类似列表的append或者clear函数?
  32.  
  33. 没有的,因为appendclear这类的函数改变的是容器对象的内部元素内容,这和不可变冲突;
  34.  
  35. 2.3.元祖的切片操作:
  36.  
  37. list&str一致,参看它们即可
  38.  
  39. 代码如下:
  1. print(tp[:6:2])
  2.  
  3. print(tp[:])
  1. 2.4.元祖的定义格式:
  2.  
  3. 格式1:元祖名 = (值1,值2,值3...)
  4.  
  5. 格式2:元祖名 = (变量1,变量2,变量3,...) = (值1,值2,值3...)
  6.  
  7. 格式3:元祖名 = (值1,)
  8.  
  9. 格式4:元祖名 = ()
  10.  
  11. 2.5.del关键字配合列元祖使用
  12.  
  13. 注意:只能回收整个元祖对象,不能回收元素
  14.  
  15. 3.字典:dict
  16.  
  17. 特点:无序性(没有索引)、可变的数据类型(值可变、键不可变)
  18.  
  19. 字典的结构:键值对组合 --> key-value
  20.  
  21. 键(key):唯一性(不可重复)、不可变的数据类型(list等不能作为键)
  22.  
  23. 值(value):没有任何要求,可以是任何类型数据,甚至可以重复
  24.  
  25. 3.1.如何访问字典元素?
  26.  
  27. 1).获取值?
  28.  
  29. 字典名配合键名可以得到对应的值
  30.  
  31. 2).设置值?
  32.  
  33. 字典名配合键名 = ...
  34.  
  35. 【注意事项1
  36.  
  37. 1).在定义字典的时候如果出现了重复的键,保留键名的同时,将后者的值覆盖前者的值
  38.  
  39. 2).在添加新的键值对时,如果原字典中没有此键,那么就直接加入了
  40.  
  41. 思考:字典有+和*操作吗?
  42.  
  43. 不能支持以上的操作,是非法的,会报错...
  44.  
  45. 代码如下:
  1. dic2 = {"name":"韩梅梅",'age':23,'height':168.0,'name':'王五'}
  2.  
  3. dic3 = {"sex":'男',"address":'北京'}
  4.  
  5. print(dic2 + dic3)
  6.  
  7. print(dic3 * 3)
  1. 3.2.字典的函数:
  2.  
  3. clear():
  4.  
  5. 【注意事项2】:
  6.  
  7. 键:必须满足不可变的数据类型,例如:intfloatboolstrtupleNone都可以充当键
  8.  
  9. 值:没有要求
  10.  
  11. 思考:可以通过值找到键吗?
  12.  
  13. 不可以,因为值可能重复,不能精确的找到唯一的键
  14.  
  15. 对于通过键找值的情况可以有以下两种方式来实现:
  16.  
  17. 方式一:如果键不存在,会报错;出现KeyError的异常
  18.  
  19. 方式二:如果键不存在,不会报错,会返回给程序一个None值,此方式比较安全/友好(更建议使用)
  20.  
  21. print(dic2['name1']) #出现异常
  22.  
  23. print(dic2.get('name1')) #不会出现异常,返回一个None值给程序
  24.  
  25. 3.3.del关键字配合字典使用
  26.  
  27. 既可以回收字典对象,也可以回收任何一个键值对数据
  28.  
  29. 4.集合:set
  30.  
  31. 特点:无序性(没有索引,每一次的显示不一致)、不可重复性(唯一的)、可以存放任何类型的数据、可变的
  32.  
  33. 4.1.集合的一些常用操作如下: 以下的操作都是在两个集合对象中实现的
  34.  
  35. 符号:
  36.  
  37. &:取交集
  38.  
  39. |:取并集
  40.  
  41. -:取差集
  42.  
  43. ^:先去并集再舍弃交集部分
  44.  
  45. 4.2.集合的函数:
  46.  
  47. clear():清空集合,保留外壳
  48.  
  49. 4.3.del关键字配合集合使用
  50.  
  51. 既可以回收集合对象,也可以回收集合中的元素

python第三课——数据类型2的更多相关文章

  1. Python学习,第三课 - 数据类型

    前言. 本次针对Python中的数据类型,做详细的总结 1.数字 2 是一个整数的例子. 长整数 不过是大一些的整数. 3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E- ...

  2. python第三课--函数

    函数的作用 编程大师Martin Fowler先生曾经说过:“代码有很多种坏味道,重复是最坏的一种!”,要写出高质量的代码首先要解决的就是重复代码的问题.例如3次求阶乘: m = int(input( ...

  3. 小哈学Python第三课-字符集编码

    table.hovertable { font-family: verdana, arial, sans-serif; font-size: 11px; color: #333333; border- ...

  4. python第三课

    本节内容 1.列表 2.购物车设计思路 3.字典 1.列表 不可变类型:整型.字符串.元组tuple 可变类型:列表list.字典dict 2.购物车 3.字典

  5. Python第三周 数据类型:集合set、文件的读写、追加操作。

    集合 知识点:集合是无序的 格式:{1,2,3,"str_test"} set_1 = set(list1)#将列表转换为集合 集合关系测试: 集合的逻辑判断.取交集.并集.差集. ...

  6. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  7. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  8. python第三十一课--递归(2.遍历某个路径下面的所有内容)

    需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir( ...

  9. Python 30分钟入门——数据类型 and 控制结构

    Python是一门脚本语言,我也久闻大名,但正真系统的接触学习是在去年(2013)年底到今年(2014)年初的时候.不得不说的是Python的官方文档相当齐全,如果你是在Windows上学习Pytho ...

随机推荐

  1. C# 委托、匿名方法、扩展方法

    一.委托的使用: 详细委托和事件解释请看另一篇:http://www.cnblogs.com/Liyuting/p/6760706.html 二.匿名方法 三.扩展方法

  2. Hive配置文件hive-site.xml

    <configuration> <property> <name>hive.metastore.warehouse.dir</name> <val ...

  3. [源码] 定义String s="abcd", 求长度

    一般会答: s.length() 看源码是如何实现的: /** * Returns the length of this string. * The length is equal to the nu ...

  4. 完善:HTML5表单新特征简介与举例——张鑫旭

    一.前言一撇 其实关于HTML5的表单特征早在去年“你必须知道的28个HTML5特征.窍门和技术”一文中就有所介绍(在第十一项),不过,有些遗憾的是,此部分的介绍是以视频形式展示的,其实,是视频还好啦 ...

  5. python中作用域

    Python 中,一个变量的作用域总是由在代码中被赋值的地方所决定的. 函数定义了本地作用域,而模块定义的是全局作用域.如果想要在函数内定义全局作用域,需要加上global修饰符. 变量名解析:LEG ...

  6. github上的项目发布成静态网页

    代码上传成功之后就可以发布静态网页了,细心的童鞋应该已经看到我上传的代码在根目录就有一个html文件(发布其他情况没试过,感兴趣自己去尝试),发布的时候选择仓库即自动识别了. 第一步:点击settin ...

  7. pom.xml 如果使用 mvn exec:exec 命令运行项目

    pom.xml 如果使用 mvn exec:exec 命令运行项目,红色字体要与groupid相同 <project xmlns="http://maven.apache.org/PO ...

  8. Ajax 与 JSON

    Ajax,是对Asynchronous JavaScript + XML的简写.这一技术能够向服务器请求额外的数据而无需卸载页面,会带来更好的用户体验. Ajax的核心是XMLHttpRequest对 ...

  9. 让浏览器识别HTML5规范中的新标签

    IE8浏览器中还没有添加对HTML5新标签的支持,所以在IE8中无法直接展现HTML5新标签中的内容.庆幸的是IE8/IE7/IE6支持通过document.createElement方法产生的标签, ...

  10. react解决roadhog buildDll 【转】

    本地删了 node module 目录,重新安装的时候,提示 找了找,可如下解决 ------- 转自: https://www.cnblogs.com/huhanhaha/p/7605722.htm ...