列表
列表和字典,比我们学过的“整数、浮点数、字符串”更加高级,更有“包容性”。

列表和字典的作用,就是可以帮我们存储大量数据,让计算机去读取和操作。

// A code blockstudents = ['党志文', '浦欣然', '罗鸿朗', '姜信然', '居俊德', '宿鸿福', '张成和', '林景辉']
for i in students:print(i+'在不在?')var foo = 'bar';

运行结果:

// An highlighted block党志文在不在?
浦欣然在不在?
罗鸿朗在不在?
姜信然在不在?
居俊德在不在?
宿鸿福在不在?
张成和在不在?
林景辉在不在?var foo = 'bar';

一个列表需要用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作“元素”。每个元素之间都要用英文逗号隔开。

[‘小明’,‘小红’,‘小刚’]就是一个列表。

从列表提取单个元素
列表中的各个元素,好比教室里的某排学生那样,是有序地排列的,也就是说,每个元素都有自己的位置编号(即偏移量)。

偏移量是从0开始的,而非我们习惯的从1开始

// A code blockstudents = ['小明','小红','小刚']
print(students[0])    #输出小明var foo = 'bar';
// An highlighted block小明var foo = 'bar';

从列表提取多个元素

// A code blocklist2 = [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]var foo = 'bar';

给列表增加/删除元素
增加:append()语句

// A code blockstudents = ['小明','小红','小刚']
students.append('小美')
print(students)   #增加小美var foo = 'bar';
// An highlighted block['小明', '小红', '小刚', '小美']var foo = 'bar';

删除:del 列表名[元素的索引]

// A code blockstudents = ['小明','小红','小刚','小美']
del students[0]
print(students)  #删除小明var foo = 'bar';
// An highlighted block['小红', '小刚', '小美']var foo = 'bar';

remove(‘字符’)需要指定删除的元素

// A code blockstudents = ['小明','小红','小刚','小美']
students.remove('小红')
print(students)var foo = 'bar';
// An highlighted block['小明', '小刚', '小美']var foo = 'bar';

字典
列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接。如’小明’:95,其中我们把’小明’叫键(key),95叫值(value)。

// A code blockscores = {'小明':95,'小红':90,'小刚':90}
print(scores['小红'])    #输出95var foo = 'bar';
// An highlighted block95var foo = 'bar';

给字典增加/删除元素

// A code blockscores = {'小明':95,'小红':90,'小刚':90}
del scores['小刚']   #删除了小刚(键,值都删除了)
scores['小刚']=92    #增加了小刚,值(value):92
scores['小美']=85    #增加了小美,值(value):85
print(scores)var foo = 'bar';
// An highlighted block{'小明': 95, '小红': 90, '小刚': 92, '小美': 85}var foo = 'bar';

列表和字典的不同点

// A code blockstudents1 = ['小明','小红','小刚']
students2 = ['小刚','小明','小红']
print(students1 == students2)   #Falsescores1 = {'小明':95,'小红':90,'小刚':100}
scores2 = {'小刚':100,'小明':95,'小红':90}
print(scores1 == scores2)   #Truevar foo = 'bar';
// An highlighted blockFalse
Truevar foo = 'bar';

列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的列表

字典相比起来就显得随和很多,调动顺序也不影响。因为列表中的数据是有序排列的,而字典中的数据是随机排列的

列表字典的嵌套运用

// A code block# 最外层是大括号,所以是字典嵌套列表,先找到字典的键对应的列表,再判断列表中要取出元素的偏移量
students = {'第一组':['小明','小红','小刚','小美'],'第二组':['小强','小兰','小伟','小芳']}
print(students['第一组'][3])
#取出'第一组'对应列表偏移量为3的元素,即'小美'# 最外层是中括号,所以是列表嵌套字典,先判断字典是列表的第几个元素,再找出要取出的值相对应的键
scores = [{'小明':95,'小红':90,'小刚':100,'小美':85},{'小强':99,'小兰':89,'小伟':93,'小芳':88}]
print(scores[1]['小强'])
#先定位到列表偏移量为1的元素,即第二个字典,再取出字典里键为'小强'对应的值,即99。var foo = 'bar';
// An highlighted block小美
99var foo = 'bar';

元组
元组既然是不可变(immutable)对象,自然也就没有增加,删除元素的方法。

// A code blocka = () # 空元组对象
b = (1,'xiaoming',29.5,'17312662388')
c = ('001','2019-11-11',['小美','小明'])var foo = 'bar';

因为元组不可以改变,但可以重新定义

// A code blocka=(0,1,2,3)a=(0,'hello',2,3)  #重新定义
print(a)var foo = 'bar';
// An highlighted block(0, 'hello', 2, 3)var foo = 'bar';

python基础教程Day04相关推荐

  1. 编程入门书籍-Python基础教程(第3版)

    Python基础教程(第3版) Magnus Lie Hetland 著,袁国忠 译 ISBN:9787115474889 包装:平装 开本:16开 正文语种:中文 出版社:人民邮电出版社 出版时间: ...

  2. Python基础教程学习笔记:第一章 基础知识

    Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入&q ...

  3. python基础教程博客_python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

  4. python基础教程第二版和第三版哪个好-python基础教程 2版和3版哪个适合新手?!...

    python基础教程 2版和3版哪个适合新手? 现在学是学python3. 两者的差异发者本身影响并不大,个别语法细微的差比如python3的print数方式使用,一些常用模块的名称差异,一些机制的差 ...

  5. python基础教程第二版答案-《Python基础教程》(第2版修订版)中要注意的地方...

    想必现在大家学习Python都会用3.0及以上的版本了,虽然2.X的版本依然很多,但是这两年随着部分开源项目不再支持2.X版本,3.X已经成为趋势. 正是在这样的大背景下,我最近用这本<Pyth ...

  6. python基础教程第三版电子版百度云-《python基础教程第三版》高清版PDF免费下载...

    下载地址1:http://t.cn/EGxO1sW Python基础教程 第3版Python简明教程书籍 Python编程从入门到实践 灵程序设计丛书 <python基础教程第三版>高清版 ...

  7. python基础教程视频(全13集)-Python基础视频教程(600集)【传智播客精品教程】...

    Python基础视频教程 初级共600节课 本套视频是传智播客紧抓未来最大趋势--人工智能,应运而生的一套Python入门视频教程,Python是学习人工智能的首选语言,而该视频是专门针对零基础的学员 ...

  8. python基础教程第三版和第二版选哪个-python基础教程 2版和3版哪个适合新手?!...

    python基础教程 2版和3版哪个适合新手? 现在学是学python3. 两者的差异发者本身影响并不大,个别语法细微的差比如python3的print数方式使用,一些常用模块的名称差异,一些机制的差 ...

  9. python基础教程第二版和第三版有什么区别-《Python基础教程》(第2版修订版)中要注意的地方...

    想必现在大家学习Python都会用3.0及以上的版本了,虽然2.X的版本依然很多,但是这两年随着部分开源项目不再支持2.X版本,3.X已经成为趋势. 正是在这样的大背景下,我最近用这本<Pyth ...

最新文章

  1. 大数据学习01——配置虚拟机节点相关网络
  2. 深入理解JS的面向对象(更新中)
  3. Amarino例程无法使用的问题
  4. QT入门安装篇+helloworld(辛酸血泪)
  5. jclouds的命令行界面
  6. QT次线程连接数据库
  7. Spring----getBean的四种用法
  8. 分布式系统关注点——如何去实施「负载均衡」?
  9. mysql中cost对比测试
  10. 微星组件环境linux,微星笔记本常用系统环境组件下载集合
  11. 在同一局域网如何共享文件
  12. 一文了解啤酒、葡萄酒、黄酒的种类
  13. openssl自建CA服务器自签证书服务器
  14. 发送短信验证码及调用短信接口与C# 后台 post 发送
  15. 腾讯云TRTC接入测试以及状态同步功能重点验证
  16. windows电脑启动问题-0xc000000d
  17. 宝可梦世界无限极服务器怎么进去,宝可梦世界无极限
  18. Windows无法访问\\xxx.xxx.xxx.xxx,提示网络错误,请检查名称的拼写
  19. 一次简单的爬虫过程记录:静态网页小说下载
  20. IDDPM原理和代码剖析

热门文章

  1. std::true_type和std::false_type
  2. AOP切面获取参数的一个小技巧
  3. CME CMS ERROR错误代码
  4. c#中用声音提示报警 .
  5. R语言ggplot2可视化:使用patchwork包(直接使用加号+)将两个ggplot2可视化结果横向组合、接着再和第三个图像横向组合起来(三幅图各占比例为50%、25%、25%)
  6. JJJ:配置ubuntu虚拟机网络
  7. 当今物联网设备的安全问题,现在的物联网就是在裸奔?
  8. vue手风琴组件_Vue 2的Badger手风琴组件
  9. Win10 年度最重大更新:代码、理想与爱
  10. arduino红外对管