二、python基础(列表、数据类型:字典、列表和字典的异同)                                             


 

1、列表

1)什么是列表

2)从列表提取单个元素

# 偏移量。列表中的各个元素,好比教室里的某排学生那样,是有序地排列的,也就是说,每个元素都有自己的位置编号(即偏移量)。# 1.偏移量是从0开始的,而非我们习惯的从1开始;2.列表名后加带偏移量的中括号,就能取到相应位置的元素。students = ['小九','小八','小七','小六','小五','小四','小三','老二','老大']
print(students[3])>>>小六

students = ['小九','小八','小七','小六','小五','小四','小三','老二','老大']
print(students[3])
# 提取字典中的第三个元素,从0开始数,往右数第三个元素:“小六”
# >>>小六

提取字典元素

3)从列表提取多个元素

# 这种用冒号来截取列表元素的操作叫作切片,顾名思义,就是将列表的某个片段拿出来处理。这种切片的方式可以让我们从列表中取出多个元素。list2 = [5,6,7,8,9]
print(list2[:])
# 打印出[5, 6, 7, 8, 9]
print(list2[2:])
# 打印出[7, 8, 9]
print(list2[:2])
# 打印出[5, 6]
print(list2[1:3])
# 打印出[6, 7]
print(list2[2:4])
# 打印出[7, 8]# 列表切片口诀:冒号左边空,就要从偏移量为0的元素开始取;右边空,就要取到列表的最后一个元素。后半句:冒号左边数字对应的元素要拿,右边的不动(可再回顾下代码)。

# 偏移量取到的是列表中的元素,而切片则是截取了列表的某部分,所以还是列表

students = ['小九','小八','小七','小六','小五','小四','小三','老二','老大']
print(students[2:4])
print(students[2])>>>['小七', '小六']小七

4)给列表增加/删除元素

增加元素

# 请运行以下代码:报错后,可读一下报错信息,然后将第6行注释掉再运行。
list3 = [1,2]
list3.append(3)# 注意格式是:列表名.append()# append后的括号里只能接受一个参数
print(list3)
#list3.append(4,5)
list3.append([4,5])# append函数并不生成一个新列表,而是让列表末尾新增一个元素。而且,列表长度可变,理论容量无限,所以支持任意的嵌套。
print(list3)>>>[1, 2, 3][1, 2, 3, [4, 5]]

删除元素

students = ['小明','小红','小刚','小美']
del students[1]
print(students)
>>>['小明', '小刚', '小美']# del语句非常方便,既能删除一个元素,也能一次删除多个元素(原理和切片类似,左取右不取)。

2、字典

1)什么是字典

# 字典和列表有3个地方是一样的:1.有名称;2.要用=赋值;3.用逗号作为元素间的分隔符。
# 而不一样的有两处:1.列表外层用的是中括号[ ],字典的外层是大括号{ };2.列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接。如'小明':95,其中我们把'小明'叫键(key),95叫值(value)。

students = ['小明','小红','小刚']
scores = {'小明':95,'小红':90,'小刚':90}
# 唯一的键和对应的值形成的组合,我们就叫做【键值对】,上述字典就有3个【键值对】:'小明':95、'小红':90、'小刚':90# 强调:字典中的键具备唯一性,而值可重复。也就是说字典里不能同时包含两个'小明'的键,但却可以有两个同为90的值。

# 如果不想口算,我们可以用len()函数来得出一个列表或者字典的长度(元素个数),括号里放列表或字典名称。
students = ['小明','小红','小刚']
scores = {'小明':95,'小红':90,'小刚':90}
print(len(students))
print(len(scores))>>>33

2)从字典中提取元素

# 字典的索引,和列表通过偏移量来索引不同,字典靠的是键。
scores = {'小明': 95, '小红': 90, '小刚': 90}
print(scores['小明'])
>>>95
# 这便是从字典中提取对应的值的用法。和列表相似的是要用[ ],不过因为字典没有偏移量,所以在中括号中应该写键的名称,即字典名[字典的键]。

3)给字典增加/删除元素

album = {'周杰伦':'七里香','王力宏':'心中的日月'}
del album['周杰伦']
print(album)
album['周杰伦'] = '十一月的萧邦'
print(album)
print(album['周杰伦'])>>>
{'王力宏': '心中的日月'}
{'王力宏': '心中的日月', '周杰伦': '十一月的萧邦'}
十一月的萧邦# 删除字典里键值对的代码是del语句del 字典名[键],而新增键值对要用到赋值语句字典名[键] = 值。

3、列表和字典的异同

1)不同点:

  • 列表有序,要用偏移量定位;字典无序,便通过唯一的键来取值。
  • 列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的列表。我们来看看代码:
# 如果==左右两边相等,值为True,不相等则为False。
print(1 == 1)
# 1等于1,所以值为True
print(1 == 2)
# 1不等于2,所以为False
students1 = ['小明','小红','小刚']
students2 = ['小刚','小明','小红']
print(students1 == students2)
scores1 = {'小明':95,'小红':90,'小刚':100}
scores2 = {'小刚':100,'小明':95,'小红':90}
print(scores1 == scores2)>>>
True
False
False
True

2)共同点:

  • 在列表和字典中,如果要修改元素,都可用赋值语句来完成。看一下代码:
list1 = ['小明','小红','小刚','小美']
list1[1] = '小蓝'
print(list1)
dict1 = {'小明':'男'}
dict1['小明'] = '女'
print(dict1)>>>['小明', '小蓝', '小刚', '小美']
{'小明': '女'}

  • 支持任意嵌套。除之前学过的数据类型外,列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。
# 列表提取元素
students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
print(students[1][3])
>>>小芳# 字典提取键
scores = {'第一组':{'小明':95,'小红':90,'小刚':100,'小美':85},'第二组':{'小强':99,'小兰':89,'小伟':93,'小芳':88}}
print(scores['第二组']['小芳'])
>>>88

# 列表和字典嵌套的情况下,提取元素:

students = {'第一组':['小明','小红','小刚','小美'],'第二组':['小强','小兰','小伟','小芳']}
scores = [{'小明':95,'小红':90,'小刚':100,'小美':85},{'小强':99,'小兰':89,'小伟':93,'小芳':88}]
print(students['第一组'][2])
print(scores[0]['小刚'])>>>小刚
   100

作业:

1、

# 把列表list1中的'love'取出来,并打印出来。
list1 = [{'嫉妒':'envy'},{'恨':'hatred'},{'爱':'love'}]
print(list1[2]['爱'])
print(list1[1]['恨'])# 把字典dict1中的'love'取出来,并打印出来。
dict1 = {1:['cake','scone','puff'],2:['London','Bristol','Bath'],3:['love','hatred','envy']}
print(dict1[3][0])# 提取A
tuple1 = ('A','B')
list2 = [('A','B'),('C','D'),('E','F')]
print(tuple1[0])
print(list2[0][0])>>>
love
hatred
love
A
A

2、

# 请你通过所学知识,把列表中的“狼”取出来,并打印出来。

townee = [{'海底王国':['小美人鱼''海之王''小美人鱼的祖母''五位姐姐'],'上层世界':['王子','邻国公主']},'丑小鸭','坚定的锡兵','睡美人','青蛙王子',[{'主角':'小红帽','配角1':'外婆','配角2':'猎人'},{'反面角色':'狼'}]]
print(townee[5][1]['反面角色'])>>>
狼

转载于:https://www.cnblogs.com/yssshiny/p/10857861.html

20190513——python基础(列表、数据类型:字典、列表和字典的异同)相关推荐

  1. 【python基础】——数据类型(列表、字典、集合)

    骏马金龙--python语法基础 python基础 变量与运算 符号 // % ** 意义 整除 整除取余 幂次方 数据种类 #mermaid-svg-7nSRRijcYFCYwTDr .label{ ...

  2. 8 list切片_P018 python基础:数据类型之列表切片02

    什么叫切片呢? 我们把每个列表元素当成是"一片",可以根据索引任意取一片,或者多片,甚至是全部.这种方法叫切片. 语法:list[index1:index2:step]:index ...

  3. python基础之数据类型III

    python基础之数据类型III 5.Dictionaries(字典) 5.1字典的认识 引子 我已经讲过的数据类型 int float str bool tuple list,我们讲的列表的数据类型 ...

  4. 1. Python基础之数据类型与注释

    文章目录 Python基础之数据类型与注释 1.变量 2.数据类型 2.1 Number类型 Int 整型 Float 浮点型 2.2 Bool 布尔类型 2.3 String 字符串类型 2.4 L ...

  5. Python基础之数据类型II

    Python基础之数据类型II 3.List(列表) 引子 我们现在已经学过的基础数据类型: int float str bool,str类型可以帮我们存储少量的数据,但是str有什么缺点? str存 ...

  6. Python基础之数据类型(一)

    Python基础之数据类型(一) 一.数据类型种类 二.int类型 三.float类型 1.float介绍 2.float简单示例 三.bool类型 1.布尔值为true 2.布尔值为false 四. ...

  7. python基础:序列(列表、元组、字符串)、函数、字典、集合

    Python语言运行环境: windows linux unix Macos等等 博客记录内容: Python3的所有语法.面向对象思维.运用模块进行编程.游戏编程.计算机仿真. Python是什么类 ...

  8. Python 基础(二)[列表,字典,文件操作]

    本章内容: 列表 & 元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码  Python  语言从未如此性感! 列表 Python中最基本的数据结构 Python有6个序列的内 ...

  9. python:python基础语法三,列表、元组、字典、集合

    python基础语法 文章目录 python基础语法 列表(list) 列表简介 切片 列表修改元素 列表的方法 遍历列表 序列(sequence) 序列的基本操作 range()函数 EMS(Emp ...

最新文章

  1. 青少年编程竞赛交流群第050次活动录播
  2. 2018-2019-2 20165315《网络攻防技术》Exp6 信息搜集与漏洞扫描
  3. Java多线程精讲(非高并发-授课专用)附synchronized
  4. python 枚举相等判断_python中is和==的区别
  5. WEB安全基础-WEB服务器相关知识
  6. ajax datatype_jQuery中的 AJAX
  7. 有什么激励你一辈子的句子?
  8. 国土空间规划数据汇交标准_国土空间规划数据治理指南来了
  9. KNN之约会网站测试
  10. Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结
  11. 库缓存(Library Cache)内存结构
  12. h5 7个移动端框架
  13. 昂达ONDA B460SD4 UEFI模式刷BIOS教程
  14. 跑步到底伤不伤膝盖?励建安教授给你权威解答
  15. deepin系统维护(系统扩容)deepin live
  16. 保险行业CRM客户关系管理系统解决方案
  17. linux下安装python3出现无configure_Linux下安装Python3.9.0
  18. idea Dmaven.multiModuleProjectDirectory=$M2_HOME报错!!!
  19. 简约立体设计感答辩PPT模板
  20. 北京大学计算机硕博连读5年,北京大学研究生院

热门文章

  1. 华为OD机试真题 Java 实现【记票统计】【牛客练习题】
  2. 从顶点小说下载小说的python代码
  3. 精灵商场项目(五)--虚拟机Linux使用+Nginx反向代理
  4. Bug记录: No ParameterResolver registered for parameter
  5. not a genuine ST device,可能是个“假”芯片
  6. 商学院学习笔记(1)
  7. 形状相似的物品_找身边与图形相似的事物
  8. java 火焰_利用火焰图查找java耗时最长的方法
  9. C++之设置背景图片(Easyx)
  10. 云计算项目经理前景_工人和施工项目经理有什么区别