python字典里可以放列表吗_学习python之列表及字典
本关学习的是两种新的数据类型:列表、字典。
在开始之前先学习一下计算机与数据直接的关系。
计算机有3种方式利用数据:
1、直接使用数据
print('我来了')
2、计算和加工数据
print (1+2+3)
3 、用数据做判断
if i<0:
print('你还没有诞生')
elif a==0:
print('恭喜你出生')
elif a<18:
print('人生即将开始新征程')
else:
print('人生路漫漫')
通过if语句我们可以看到计算机利用数据做逻辑判断。
一、列表
1、什么是列表
students=['A','B','C']
列表名students 赋值号= 列表['A','B','C'] ,一个列表需要用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作“元素”。每个元素之间都要用英文逗号隔开。
list1 = ['AA',18,1.70]
print(list1)
输出:['AA',18,1.70]
列表可以包含一切
2、从列表提取单个元素
偏移量:每个元素都有自己对应的位置编号
students = ['a','b','c']
students[0],students[1],students[2]
偏移量是从0开始的
列表名后加带偏移量的中括号,就能渠道相应位置的元素
找出小A,应该如何做呢?
students=['小A' ,'小B','小C']
print(students[0])
输出:
小A
3、从列表提取多个元素
冒号用来截取列表元素的操作叫切片,这种切片的方式可以让我们从列表中取出多个元素
:左右两边的数字指的是列表中元素的偏移量,记得偏移量始终从0开始
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=['AA','BB','CC']
print(students[2])
print(students[2:])
输出:
CC
['CC']
4、给列表增加/删除元素
如果需要给列表中增加元素,我们就需要用到append()函数给列表增加元素,append的意思是附加,增补。
list3 = [1,2]
list3.append(3)
print(list3)
list3.append([4,5])
print(list3)
输出:
[1,2,3]
[1,2,3,[4,5]]
append()给列表增加元素,每次只能增加一个元素(单个列表也会视作一个元素),列表重的元素可以是字符串、数字等,也可以是列表本身(列表内部支持嵌套),append后的元素,会添加在列表末尾
格式 列表名.append()
删除元素del列表名[元素的索引]
del语句,既能删除一个元素,也能一次删除多个元素
students=['AA','BB','CC','DD']
del students[3]
print(students)
输出:
['AA','BB','CC']
二、字典
1、什么字典
scores={'AA':95,'BB':90,'CC':90}
字典和列表有3个地方是一样的:1.有名称;2.要用=赋值;3.用逗号作为元素间的分隔符。
而不一样的有两处:1.列表外层用的是中括号[ ],字典的外层是大括号{ };
列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接。
比如'AA':95,其中'AA'叫做键(key),95叫值(value),这样唯一的键和对应的值形成的组合,我们就叫做【键值对】
这里需要强调的是,字典中的键具备唯一性,而值可重复。也就是说字典里不能同时包含两个'AA'的键,但却可以有两个同为90的值。
介绍一个函数可以得出一个列表或者字典的长度(元素个数),括号里放列表或字典名称。
students=['AA','BB','CC']
scores={'AA':95,'BB':90,'CC':90}
print(len(students))
print(len(scores))
输出
3
3
2、从字典中提取元素
如果我们想从字典中提取元素,这里靠的是键
scroes={'AA':95,'BB':90,'小刚':90}
print(scores['AA'])
输出:95
3、给字典增加/删除元素
删除字典里键值对 del 字典名[键]
新增键值对的赋值语句 字典名[键]=值
scores = {'AA':95,'BB':90,'CC':90}
del scores['CC']
scores['CC'] = 92
scores['DD'] = 85
print(scores)
输出:
{'AA': 95, 'BB': 90, 'CC': 92, 'DD': 85}
三、列表和字典的异同
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,'
输出:
True
False
False
True
列表中的数据是有序排列的,而字典中的数据是随机排列的
列表有序,要用偏移量定位;字典无序,便通过唯一的键来取值
2、列表和字典的相同点
在列表和字典中,如果要修改元素,都可用赋值语句来完成
del语句通常是用来删除确定不需要的键值对
支持任意嵌套。列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表。
students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
students这个列表由两个子列表组成,如果要取出小芳,我们需要一层层取出
students[0]:['小明','小红','小刚','小美']
students[1]:['小强','小兰','小伟','小芳']
小芳是students[1]列表里的第三个元素
students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
print(students[1][3])
输出
小芳
字典嵌套字典
scores = {
'第一组':{'小明':95,'小红':90,'小刚':100,'小美':85},
'第二组':{'小强':99,'小兰':89,'小伟':93,'小芳':88}
}
print(scores['第一组']['小刚'])
输出
100
列表和字典相互嵌套
# 最外层是大括号,所以是字典嵌套列表,先找到字典的键对应的列表,再判断列表中要取出元素的偏移量
students = {
'第一组':['小明','小红','小刚','小美'],
'第二组':['小强','小兰','小伟','小芳']
}
print(students['第一组'][3])
#取出'第一组'对应列表偏移量为3的元素,即'小美'
# 最外层是中括号,所以是列表嵌套字典,先判断字典是列表的第几个元素,再找出要取出的值相对应的键
scores = [
{'小明':95,'小红':90,'小刚':100,'小美':85},
{'小强':99,'小兰':89,'小伟':93,'小芳':88}
]
print(scores[1]['小强'])
#先定位到列表偏移量为1的元素,即第二个字典,再取出字典里键为'小强'对应的值,即99。
输出
小美
99
这节课知识量有点大,需要更多的理解和联系,一起加油。
python字典里可以放列表吗_学习python之列表及字典相关推荐
- python爬取知乎话题广场_学习python爬虫---爬虫实践:爬取B站排行榜2(爬取全部分类排行榜、利用pygal库作图)...
前面我们爬取了B站上全站的排行榜,详细见:魏勇:学习python爬虫---爬虫实践:爬取B站排行榜zhuanlan.zhihu.com 一.爬取全部分类排行榜 我们观察一下B站排行榜,那里还有番剧排 ...
- python编程的基本方法有哪些_学习Python编程的11个入门技巧
我们非常激动,您决定开始学习Python的旅程!我们从读者那里收到的最常见问题之一是"学习Python的最佳方法是什么?" 我相信学习任何编程语言的第一步就是要确保您了解如何学习. ...
- python初学往哪个方向比较容易_学习Python应该往哪个方向发展?
先回答题主正题,学完Python有这些方向可发展. 第一:Python web开发 学完Python可以做web开发,因为现在中国学习Python的比较少,而招聘Python的却非常的多.所以Pyth ...
- python编程基础的阅读心得体会_学习Python的一些心得体会(熊逸飞)
PART 2 第一章作者没有抛出过多内容,只是简单介绍了Python作为编程语言的一些比较优势,然后介绍它的历史和创始人的故事.从90年首次发布到现在经历了十几次优化才有了如今我们使用的Python, ...
- 从零开始学python大数据与量化交易下载_学习python有什么推荐书?
先简单回答下题主的两个追问问题.问题1:Python几乎无所不能,从数据分析.软件开发.Web开发.数据库开发.系统开发,到游戏开发,网络爬虫,再到让Python傲视群雄的机器学习.不同的学习目标,当 ...
- 学python要不要先自学c语言_学习Python之前是否需要学习C语言
首先,学习Python之前并不需要学习C语言,Python本身是比较适合作为入门编程语言来学习的,一方面Python的语法结构比较简单清晰,实验也相对比较容易完成,这会逐渐增强初学者的学习信心,另一方 ...
- 下列选项中不符合python语言变量命名规则的是_学习Python第二日--基本概念和类型...
编程语言分类:解释型语言和编译型语言.解释型语言不会产生额外的文件,运行时一行一行的翻译.编译型语言需要产生一个额外的文件,是电脑能够识别的内容,运行后将产生额外的文件. 变量是可变的量,是它的值可以 ...
- python小型编程_学习Python编程的11个资源
用 Python 写代码并不难,事实上,它一直以来都是被声称为最容易学习的编程语言.如果你正打算学习 web 开发,Python 是一个不错的选择,甚至你想学游戏开发也可 以从 Python 开始,因 ...
- 如何使用python编程抢京东优惠券 知乎_学好Python爬取京东知乎价值数据
原标题:学好Python爬取京东知乎价值数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这 ...
最新文章
- 抄代码的时候总是遇到原始数据应该长什么样的问题??
- 利用JS将页面指定部分存为HTML页
- hdu4888 最大流(构造矩阵)
- kafka入门:简介、使用场景、设计原理、主要配置及集群搭建--转载
- 虚拟现实大会ChinaVR2015报告之-电子试衣和三维人体建模
- java 抛出异常 返回值_java通过抛异常来返回提示信息
- boost::timer::auto_cpu_timer相关的测试程序
- 【SignalR学习系列】7. SignalR Hubs Api 详解(JavaScript 客户端)
- ajax 更新模型数据_DuangDuangDuang,重点来啦!高薪全靠它——百战Web前端课程更新03.11...
- NUC1016 斐波那契数列【打表】
- 以数制转换问题讲解栈数据结构的基本概念及其在计算机中的应用
- 关于Redis缓存和数据库一致性问题
- 使用 Pandas 与 Matplotlib 分析科比职业生涯数据-CSDN公开课-专题视频课程
- linux系统安装五笔输入法,Linux下安装五笔输入法
- 用Gromacs重复文献计算TIP4P介电常数谱
- 安装并使用Ghidra的Eclipse插件的过程
- 团体程序设计天梯赛 -- 练习集 (L1合集)
- Crossplane 和 Terraform 的区别
- 旋转矩阵(一):旋转矩阵能让什么东西旋转?
- C语言结构体-火车票查询程序
热门文章
- iphone7像素_iPhone 7能否再战三年?这几点因素你得考虑到!
- html 的empty属性,你未必知道的CSS小知识:你知道table里的empty-cells属性吗?
- 《深度学习的数学》二刷总结
- LINUX驱动注册过程失败处理不当引起的恶果
- Android4.0 修改系统屏幕分辨率方法
- 带有匹配滤波器的雷达信号调制和脉冲压缩技术的Matlab程序
- stm32 keil下不重启进行仿真寻找bug原因
- 从零开始的AI·决策树原来这么好理解(附实例代码)
- Java调用WebService接口实现发送手机短信验证码功能
- 卡巴斯基:乌云反思 企业安全堪忧