前言: 好久不见,突然发觉好久没写博客了,最近迷上了 Python 无法自拔,了解了一下,Python 简单易学,尤其是接触过java的人,入门 Python 更是门槛极低,本着学习记录的原则,边学习边记录,有利于梳理学习的成果,也有利于后期的复盘,所以今天开始 Python 学习之旅的第一篇博客,纯粹只是记录。

简单的语法定义就不记录了,从数据结构开始,程序最重要的就是操作数据,学习一门编程语言毫无疑问必须掌握它独有的数据结构。现在就从 列表 开始。

列表是 Python 编程中使用频率极高的数据结构,由一系列按特定顺序排列的元素组成,用 [] 表示,逗号分隔元素,类似 Java 中的 数组。列表被创建来存储数据,是动态的,随时可以对列表进行 crud 操作。由于列表包含多个元素,所以通常命名为复数形式,如 names,letters 等。

基本格式

1fruits = ["apple","bananer","oranger"]2print(fruits)

访问列表元素

跟大多数编程语言一样,python列表数据的访问也是通过索引来获取,第一个元素从0开始,最后一个元素索引为列表的总数据和减一。python也提供可另一种特殊语法,可以直接使用-1作为索引获取最后一个元素,依次减一逆向获取数据。获取到列表数据之后 可以直接拿来进行任何操作。

1print(fruits[0])//获取第一个元素 `apple`2print(fruits[-1])//获取最后一个元素`oranger`

修改列表元素

直接根据索引拿到对应位置的元素,对其重新赋值即可。

1fruits[0] = "watermelon"//修改第一个元素2print(fruits)//重新打印列表

此时列表变更为:['watermelon', 'bananer', 'oranger']

增加元素

  • 调用 append() 方法在列表末尾添加元素
1fruits.append("Plum")2print(fruits)

此时列表为:['apple', 'bananer', 'oranger', 'Plum']

  • 调用 insert()方法在指定索引出插入数据
1fruits.insert(1,"pear")//在索引为1处插入数据2print(fruits)

此时列表为:['apple', 'pear', 'bananer', 'oranger']

删除列表中的数据

  • 知道索引的情况下,直接使用del删除数据
1del fruits[0]//删除第一个数据2print(fruits)

此时列表为:['pear', 'bananer', 'oranger']

  • 调用pop()弹出列表列表数据,并返回弹出的数据。如果不传参数,默认弹出列表最后一个元素,若传入索引值,则弹出指定索引元素
1print(fruits.pop())//弹出最后一个元素,并打印2print(fruits)3print(fruits.pop(0))//弹出第一个元素,并打印4print(fruits)

注意此时结果为:

1oranger2['pear', 'bananer']3pear4['bananer']
  • 假如不知道元素的索引,而直到具体要删除的元素值,也可以直接调用 remove()方法删除,注意 删除之后,还可以继续使用该元素。
1fruits = ["apple","bananer","oranger","prea"]2print(fruits)3delete = "bananer"//删除的元素4fruits.remove(delete)//调用方法删除指定元素值5print(fruits)6print(delete)//最后打印删除掉的元素

结果为:

1['apple', 'bananer', 'oranger', 'prea']2['apple', 'oranger', 'prea']3bananer

列表排序

  • 调用 sort() 对列表元素进行排序,默认是按自然顺序排序,如果要逆向排序,可传入 参数reverse=True,排序之后 列表的顺序就永久改变了。
1fruits = ["bananer","apple","oranger","prea"]2print(fruits)3fruits.sort()4print(fruits)

结果为:

1['bananer', 'apple', 'oranger', 'prea']2['apple', 'bananer', 'oranger', 'prea']
  • 假如我们想临时该表一下列表的顺序,可以使用 sorted()方法
1fruits = ["bananer","apple","oranger","prea"]2print(fruits)3print(sorted(fruits))4print(fruits)

结果为:

1['bananer', 'apple', 'oranger', 'prea']2['apple', 'bananer', 'oranger', 'prea']3['bananer', 'apple', 'oranger', 'prea']

可见 列表顺序并没有改变。

使用 `reserse()` 方法,翻转列表元素

1  fruits = ["bananer","apple","oranger","prea"]2  print(fruits)3  fruits.reverse()//翻转列表元素4  print(fruits)

结果为:

1['bananer', 'apple', 'oranger', 'prea']2['prea', 'oranger', 'apple', 'bananer']

使用`len()`方法获取列表长度

1fruits = ["bananer","apple","oranger","prea"]2print(len(fruits))

结果明显为4.

for 循环遍历列表

这跟 java中类似,格式为 for xxx in 列表名:,遍历获取到列表数据之后,我们可以对它进行任何操作

1fruits = ["bananer","apple","oranger","prea"]2for fruit in fruits:3    print(fruit)

结果为遍历打印出各个元素:

1bananer2apple3oranger4prea

注意:python 中代码块是没有{}的,都是用4个空格缩进代表代码块,for循环,if 循环,while循环,方法体都是如此,编写代码时一定要注意缩进

快速组装数字列表

ranger()传入起始值和结束值可以按顺序产生一系列数字,再使用list()可以快速组装一定任意范围的数字列表

1numbers = list(range(1,6))//组装列表2print(numbers)

结果:[1, 2, 3, 4, 5] 其实使用遍历也可以实现,但是这种方法更加便捷。

列表生成式

使用 [表达式 for 变量值 in range(x,x) if xxx] 只需一条语句就可以快速生成数值列表,其中表达式是遍历数值结果进行操作,还可以添加 if 条件。

1numbers = [x * x for x in range(1,6)]//求平方数值列表2print(numbers)

结果为:[1, 4, 9, 16, 25] 这种表达式相当简洁,原先的好几行只需一行就能搞定。

使用切片裁剪获取子列表

使用 列表名[x:y] 裁剪获取对应索引区间的子列。假如省略起始值x,默认从0索引开始裁剪,假如省略结束值y,默认裁剪余下的所有元素。

1fruits = ["bananer","apple","oranger","prea"]2print(fruits[0:2])

结果为:['bananer', 'apple']

至此,基本的列表操作差不多都总结完了,顺便记录一下元组

  • 列表中的数据是可变的,我们经常用它来存储可变的数据源
  • 元组跟列表一样也是用来存储数据源的,但是它存储的数据源是不可变的
  • 元组定义的格式也不一样,为(xxx,yyy,zzz).
  • 对于元组的操作,跟列表一样

小白式学 python3 第一篇总结,如有不妥之处,麻烦在评论区指出,谢谢~

参考:廖大教程https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

更多原创文章会在公众号第一时间推送,欢迎扫码关注 张少林同学

张少林同学.jpg

转载于:https://www.cnblogs.com/zhangshaolin/p/10188947.html

傻瓜式学Python3——列表相关推荐

  1. 傻瓜学python_傻瓜式学Python3——列表

    前言: 好久不见,突然发觉好久没写博客了,最近迷上了 Python 无法自拔,了解了一下,Python 简单易学,尤其是接触过java的人,入门 Python 更是门槛极低,本着学习记录的原则,边学习 ...

  2. Python3 列表List

    什么是列表? 简单说来,列表就是一组有序的数据.每一个数据都有其特定的位置,即索引. 注意:第一个数据的索引是0,第二是1,依此类推.列表中的数据叫做数据项,数据项可以是任意类型数据,比如:数字.字符 ...

  3. 用计算机弹小星星的教程,职业歌手教你从零开始学吉他《小星星》傻瓜式教学...

    今天再发一个教学,在你把所有之前的内容练习好的前提下.请练习下面这首歌曲,教学内容有点傻瓜式,为毫无基础的朋友准备的,真正的从零开始学吉他. 谱例左上角1=C表示这首歌是C调.4/4表示歌曲是44拍. ...

  4. 小星星怎么用计算机弹音乐,职业歌手教你从零开始学吉他《小星星》傻瓜式教学...

    今天再发一个教学,在你把所有之前的内容练习好的前提下.请练习下面这首歌曲,教学内容有点傻瓜式,为毫无基础的朋友准备的,真正的从零开始学吉他. 谱例左上角1=C表示这首歌是C调.4/4表示歌曲是44拍. ...

  5. python3列表推导式矩阵转置_python3进阶之推导式1之列表(list)推导式(comprehensions)...

    1.前言 推导式,英文名字叫comprehensions,注意与comprehension(理解)只有s字母之差.推导式又可以叫解析式,推导式可以从一种数据序列构建新的数据序列的结构体.推导式分为,列 ...

  6. python3 列表推导式_Python3 之 列表推导式

    列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表. 它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句.那个表达式可以是任意的, ...

  7. 生信宝典之傻瓜式(六)查找转录因子的靶基因

    请关注天下博客:http://blog.genesino.com/2018/04/cistrome/ 傻瓜系列教程断断续续出了5篇了,依次为: 生信宝典之傻瓜式 (一) 如何提取指定位置的基因组序列 ...

  8. 自定义html托管,10分钟搞定“傻瓜式”的静态网站搭建托管之旅

    原文发布于微信公众号:腾讯云存储(关注有惊喜) 静态网站:有别于动态网站,它就是只包含静态内容(如图片.音频.视频.HTML.CSS.JS)的网站,不依赖服务器端动态渲染页面. 那么静态网站托管应该如 ...

  9. 笨方法python3_“笨方法”学Python3,习题 41 。

    笨方法"学Python3,习题 41:学习面向对象术语 1.有哪些术语 ? 2.术语的意思是什么 ? 一.专有词汇练习 类(class):告诉 Python 创建新类型的东西 对象(obje ...

  10. 7.1 pdo 宝塔面板php_小白入门基础傻瓜式操作PHP面板安装使用_Bt宝塔面板

    ​ 小白入门基础傻瓜式操作PHP面板安装使用--Bt宝塔面板 从购买服务器到安装面板在到搭建网站(最基础的教程,以后会延伸到部署项目) 不用写代码谁都可以做到搭建自己的网站(PHP类)还有小程序,只要 ...

最新文章

  1. yii2 / Console - yii2开发控制台应用时的还我漂漂拳
  2. 一些建议:给当年刚做程序员的我
  3. ios和android交互差异,Android 和 iOS 主要交互区别整理
  4. PHP的html实现xpath解析,php用xpath解析html的代码实例讲解
  5. 后端人员如何应对线上故障
  6. Huawei said, “Let every meeting room or coffee shop
  7. HTML基础:web前端建站流程
  8. IBatis的resultMap使用
  9. Ruby之入门(一)
  10. DelimiterBasedFrameDecoder 自定义分隔符解码器,解决 TCP 粘包
  11. 利用ActiveSync制作PC端安装程序(By 无聊客)
  12. linux 远程安装teamviewer,远程桌面工具TeamViewer教程:如何在红帽® 企业Linux®上安装TeamViewer...
  13. 2021年全球电力线通信(PLC)系统收入大约7385.8百万美元,预计2028年达到14530百万美元,2022至2028期间,年复合增长率CAGR为11.0%
  14. Day-3 文字排版
  15. 量子力学考研书籍介绍
  16. 量化投资中常用python代码分析(一)
  17. 虚化视频边框,添加滚动字幕的简单教程
  18. matplotlib 画双轴子图无法显示 x-轴 坐标轴标签
  19. 罗克韦尔PLC编程软件ControlLogix平台
  20. Amazon EBS 卷类型

热门文章

  1. dbus-glib编程2:d-feet的使用
  2. 关于skl计算机题目,系统崩溃,并且您不能更改 Windows 8.1 或 Windows Server 2012 R2 中的英特尔 SKL 平台上的 CPU 频率...
  3. pycharm中python的默认安装路径_PyCharm下载和安装详细步骤
  4. cannot allocate memory in static TLS block问题记录
  5. Python 批量转化doc文件为docx文件
  6. luoguT30208 太极剑(贪心)
  7. 弗兰克赫兹大物实验数据处理
  8. 药到病除?功能性食品到底有没有用?关键还要看你的肠道微生物
  9. 【情感分析:挖掘观点、情感和情绪】读书笔记-02
  10. 3DMark03 测试显卡