#2017-12-19 19:34:41 December Tuesday the 51 week, the 353 day
#python连载第十五篇~list列表#列表定义,访问,索引,操作,切片
列表就是用中括号包围、逗号隔开的任何东西(称作元素element),没有数量,长度限制:
用中括号[]加序号访问列表元素的方法就是索引index,索引就是列表元素所在的位置,索引从0 而不是1 开始,第二个元素索引为1,第三个索引为2,依次类推#python连载第十五篇~list列表
#访问list中的元素
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
#这个列表中有6个元素,但是一般我们从0开始数,一直数到5。
#也就是list1[0]的元素内容就是数字1,list1[5]元素内容就是"最近如何,亲?"
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
#可以用print函数直接输出这个列表
print("该列表所有元素为:",list1)
#访问第一个元素
print("列表第一个元素为:",list1[0])
#访问第二个元素
print("列表第二个元素为:",list1[1])
#访问第六个元素
print("列表第六个元素为:",list1[5])
#也可以用负数来调取列表中的元素。
#list1[-1]表示列表中的最后一个元素。
print("列表最后一个元素为:",list1[-1])
#list1[-5]表示倒数第5个元素
print("列表倒数第5个元素:",list1[-5])
#也可以用for循环输出列表内容
#for循环最擅长和列表配合搞事情
for i in list1:print(i)#for循环做的事情其实就是遍历列表中的每一项,每次循环都把当前项赋值给一个变量(这里是i)并输出,直到列表结束#python连载第十五篇~list列表
#修改,添加#修改列表中的元素
#只需要直接给那个元素赋值就可以了:
#给第一个元素赋值为512
list1[0] = 512
#赋值之后的列表内容
print("现在list1变成了",list1)#向list中添加元素
#append方法可以在列表最后面增加元素。
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
#python中append方法的使用技巧是在列表后面添加英语中的句号,然后添加append方法
list1.append('最近很好呢~')
print("向list列表中添加元素后:",list1)#python连载第十五篇~list列表
各种删除方法
#del()方法删除list中的元素,被删除的元素无法再被使用
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
#删除第一个元素
del list1[0]
print("删除列表中第一个元素后:",list1)
#pop()方法删除list中的元素,被删除的元素还可以被使用
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
poped_list = list1.pop()       #删除列表最后一个元素
print("删除最后一个元素后的列表:",list1)
print("被删除的元素:",poped_list)
#弹出(删除)列表中的任意元素,只需在pop()中加入数字
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
poped_list = list1.pop(2)      #删除列表最后一个元素
print("删除第三个元素后的列表:",list1)
print("被删除的第三个元素:",poped_list)
#直接删除列表中的元素
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
love = 'i love you'
list1.remove(love)
print("删除指定元素后的列表:",list1)
#被删除的元素还可以继续使用
print("被删除的元素:",love)切片的含义就是从列表许多元素中取出你想要的部分,类似屠夫用刀从牛肉中随意剁出一块出来的感觉,具体的方法就是:
在中括号[]内提供一对合适数字,用:分割。冒号前的数表示切片的开始位置,冒号后的数字表示切片到哪里结束。注意,开始位置包含在切片中,而结束位置不包括。
列表中第一个元素位置是0,第二个元素位置是1,以此类推#python连载第十五篇~list列表
#列表的切片读取
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
#取出列表中的第3个,第四个,元素,不包含第五个元素
print("列表第3,4个元素是:",list1[2:4])#如果不指定第一个数,切片就从列表第一个元素开始
print("列表第1,2,3,4个元素是:",list1[:4])
#如果不指定第二个数,就一直到最后一个元素结束
print("列表第3个元素以后的内容是:",list1[2:])
#不指定,则返回列表所有元素
print("列表所有元素是:",list1[:])
#同索引一样,切片中的数字也可以使用负数。比如
print("列表第3个到倒数第二个元素:",list1[2:-2])
#遍历切片
print("前三个元素为:")
for list1_1 in list1[:3]:print(list1_1)#python连载第十五篇~list列表
列表排序
#下面列表中的元素是我在德国留学时候的室友,朋友
list2 = ['johannes', 'romi', 'andre','martin']
#列表永久按照字母表顺序排序,排序后不可撤销
list2.sort()
print("正序列表内容:",list2)
#向sort()方法传递参数reverse=True可以让列表内容按照字母反方向顺序排序
list2.sort(reverse=True)
print("反序列表内容:",list2)
#还可以用sorted()方法对列表临时排序
list2 = ['johannes', 'romi', 'andre','martin']
print("这是原始列表")
print("原始列表:",list2)
print("这是临时排序列表")
print("临时正序列表:",sorted(list2))
print("原始列表保持不变")
print("原始列表:",list2)
#倒着打印列表
list2 = ['johannes', 'romi', 'andre','martin']
list2.reverse()     #反转方法
print("反转列表:",list2)
#确定列表长度
list2 = ['johannes', 'romi', 'andre','martin']
print("列表list2元素个数为:")
print(len(list2))#python连载第十五篇~list列表列表中插入,复制#使用方法insert()可在列表的任何位置添加新元素。
#只需要指定新元素的索引(位置)和值。在插入的位置右侧元素自动右移一个位置
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
list1.insert(4, 'Schatz德语宝贝的意思')
print(list1)#复制列表
list1 = ['汉语', '英语']
list2 = list1
list3 = list1[:]       #[:]代表列表所有内容
print("新名字:list2,旧列表:",list2)
print("新名字:list3,旧列表:",list3)#python连载第十五篇~list列表
列表加法,乘法,嵌套
#列表可以做加法
list1 = [1, '2', "3", "abc", "i love you", "最近如何,亲?"]
list2 = ['johannes', 'romi', 'andre','martin']
list3 = list1 + list2
print("加法列表结果:",list3)#列表还可以做乘法
list2 = ['johannes', 'romi', 'andre','martin']
list4 = list2 * 2
print("乘法列表结果:",list4)#列表嵌套,列表里面的元素还是列表
list1 = [1, '2', ]
list2 = ['johannes', 'romi']
list5 = [list1, list2]
print("列表嵌套结果:",list5)2017-12-23 15:14:10 December Saturday the 51 week, the 357 day#python连载第十五篇~list列表
数字列表的玩法
#for循环做的事情其实就是遍历一个列表中的每一项,
#每次循环都把当前项赋值给一个变量(这里是i)并输出,直到列表结束
#使用函数(函数和方法是一个意思,两者等价)range()创建一列数字
for i in range(1, 5):print(i)
#创建数值列表
numbers = list(range(1,5))
print("列表嵌套结果:",numbers)
#指定步长求偶数,第一个2是起点,11是终点,最后一个2是数字的间隔,步长
even_numbers = list(range(2,11,2))
print("2到10之间的偶数:",even_numbers)
#平方运算,在Python中,两个星号(**)表示乘方运算。
#列表包含前10个整数的平方
squares = []                           #建立空列表
for value in range(1,11):               #for循环输出1到10的数字square = value**2                   #给每个数字做平方运算squares.append(square)               #把每个数字依次添加到空列表里面
print("1到10的平方分别是:",squares)   #打印出最终的列表
numbers = list(range(1,5))
print("列表元素内容为",numbers)
#求数字列表最小值
min_numbers = min(numbers)
print("列表最小元素为:", min_numbers)
#求数字列表最大值
max_numbers = max(numbers)
print("列表最大元素为:",max_numbers)
#求数字列表元素之和
sum_numbers = sum(numbers)
print("列表数字元素之和为:",sum_numbers)2017-12-23 15:13:58 December Saturday the 51 week, the 357 day#python连载第十五篇~list列表
常见系统错误整理
#索引错误:列表索引元素号码要在元素里面,如果超出电脑会报错
list2 = ['johannes', 'romi', 'andre','martin']
print(list2[4])
电脑报错如下:
Traceback (most recent call last):          #不用看,没啥意义File "D:\Sublime_work_D\TF\TF_test.py", line 2, in <module>     print(list2[4])                     #错误代码所在位置行
IndexError: list index out of range     #索引错误:超出列表索引范围
[Finished in 1.0s]
#语法错误:
for i in range(1, 10)print(i)File "D:\Sublime_work_D\TF\TF_test.py", line 1for i in range(1, 10)          #指出错误在for循环的末尾,缺个分号^
SyntaxError: invalid syntax         #语法错误:无效语法
[Finished in 0.8s]
#缩进错误举例
#没有缩进
for i in range(1, 10):
print(i)
运行后无法通过电脑检测,电脑返回如下:File "D:\Sublime_work_D\TF\TF_test.py", line 2   #文件在电脑中的位置print(i)                                      #错误所在位置^
IndentationError: expected an indented block        #缩进错误期望一个缩进模块
[Finished in 1.8s with exit code 1]
#不必要的缩进
list2 = ['johannes', 'romi', 'andre','martin']print(list2[4])File "D:\Sublime_work_D\TF\TF_test.py", line 3print(list2[4])^
IndentationError: unexpected indent     #缩进错误:超出预期的缩进,没必要缩进
[Finished in 0.8s]建议大家积累常见错误,然后定期复习,避免重复犯错,对英语有压力的同学可以记住错误中的常见词,以后碰到新错误就能看懂电脑报错原因。把这个错误放进文件:python_problems.py
这句话是关键:IndexError: list index out of range,说明了错误原因是索引错误:IndexError最后关于列表还有大量操作,这里只是抛砖引玉,以后碰到了新用法,自己临时学习就行,做编程,最重要的品质就是学习能力和终生学习的意识。
一旦放弃学习,很快就被时代抛弃家庭作业:
用range方法和for循环实现1到10的平方squares = [value**2 for value in range(1,11)]
print(squares)[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
[Finished in 1.7s]

python连载第十五篇~史上最全列表知识源码+答案相关推荐

  1. python学习[第十五篇] 文件系统

    python学习[第十五篇] 文件系统 对文件系统访问大多数都通过os模块实现. os 模块文件/目录访问函数 文件处理 mkfifo() 创建命名通道只用于linux remove(path)/un ...

  2. CCIE理论-第十五篇-IPV6-重分布+ACL+前缀列表

    CCIE理论-第十五篇-IPV6-重分布+ACL+前缀列表 重分布前面讲过,这里再讲一次+实操+效果看看 在ipv6中重分布直连路由是需要加上include-connected的 环境 就这么简单哈, ...

  3. 史上最全“Git插件+码云+分支” 使用步骤详解

    版本控制也就那么回事!!! 史上最全"Git插件+码云+分支" 使用步骤详解 1.准备Git: 1.1 下载Git到本地: 首先在华为镜像云里面搜索"Git-For-Wi ...

  4. python各种包安装顺序_史上最全的Python包管理工具:Anaconda教程

    事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境. 简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook 可以将数据分析的代码.图像和 ...

  5. 【问链财经-EOS公开课】 第十八课 史上最全EOS 资源汇总

    EOS 主网 超级节点 https://eos.live,EOS 竞选节点列表,by SuperONE https://www.imeos.one/block-producer,EOS 竞选节点列表, ...

  6. 排障集锦:九九八十一难之第十三难!-------------史上最全MySQL 单实例故障排查

    文章目录 一.ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysql.soc ...

  7. python快速入门期末版_史上最全Python快速入门教程,满满都是干货

    原博文 2020-10-11 17:07 − Python是面向对象,高级语言,解释,动态和多用途编程语言.Python易于学习,而且功能强大,功能多样的脚本语言使其对应用程序开发具有吸引力.Pyth ...

  8. Python二级考试试题汇总(史上最全)

    Python二级考试试题(一) ✅作者简介:大家好我是编程ID

  9. python快速编程入门黑马-500G 史上最全的JAVA全套教学视频网盘分享

    500 G JAVA视频网盘分享(JEECG开源社区) [涵盖从java入门到深入架构,Linux.云计算.分布式.大数据Hadoop.ios.Android.互联网技术应有尽有] 2.JPA视频教程 ...

最新文章

  1. react的导出是怎么实现的_22 个让 React 开发更高效更有趣的工具
  2. 【学术前沿】26 亿参数训练量,水平接近人类,Google 开发的“史上最强”聊天机器人意义何在?...
  3. 恢复误删数据(SQL Server 2000)--Log Explorer
  4. 第一个SpringMVC入门程序
  5. 使用Windows远程桌面工具来远程连接控制Ubuntu系统
  6. 三维点云学习(2)下-Octree
  7. 经验之谈:程序员应该如何学好大数据技术
  8. Matlab给二维函数图像标注极值点
  9. 当当网商品详情API接口(当当商品详情接口,当当商品问答接口,当当抢购价接口,当当商品列表接口,当当商品评论接口)代码对接教程
  10. 电脑仙人掌机器人作文_仙人掌作文之电脑仙人掌机器人的童话作文
  11. 2021年真正还能够用的一键制作词云图网站
  12. perl编译器下载linux64,perl 在linux 下的安装
  13. Typora自定义主题分享 (Mac风、图片立体感...)
  14. 关于在vscode引入python中Crypto包的问题
  15. c++中vector如何插入元素
  16. Paper reading (九十四):Genomic and epidemiological evidence of bacterial transmission from probiotic
  17. 1.为什么要从古典概率入门概率学《zobol的考研概率论教程》
  18. 周末导读:来自《大地日报》的故事
  19. 使用ceph的块存储rbd
  20. 电脑回收站清空的文件怎么找回来?

热门文章

  1. 【笔记】JAVA SE
  2. Java多线程(十):BlockingQueue实现生产者消费者模型
  3. 项目管理基本目录结构
  4. 深入理解Scala的隐式转换
  5. JAVA验证数字的正则表达式,来一发
  6. 一种简易的聊天泡泡设置颜色以及添加描边的方式
  7. 隐藏ribbon按钮
  8. 纯css3云彩动画效果
  9. (转)Hibernate中的多表操作
  10. 文件上传表单 上传文件的细节 文件上传下载和数据库结合