资讯专栏INFORMATION COLUMN

傻瓜式学Python3——列表

Andrman / 1583人阅读

摘要:列表是编程中使用频率极高的数据结构,由一系列按特定顺序排列的元素组成,用表示,逗号分隔元素,类似中的数组。由于列表包含多个元素,所以通常命名为复数形式,如,等。使用切片裁剪获取子列表使用列表名裁剪获取对应索引区间的子列。

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

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

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

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

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

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

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

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

增加元素

调用 append() 方法在列表末尾添加元素

fruits.append("Plum")
print(fruits)

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

调用 insert()方法在指定索引出插入数据

fruits.insert(1,"pear")//在索引为1处插入数据
print(fruits)

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

删除列表中的数据

知道索引的情况下,直接使用del删除数据

del fruits[0]//删除第一个数据
print(fruits)

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

调用pop()弹出列表列表数据,并返回弹出的数据。如果不传参数,默认弹出列表最后一个元素,若传入索引值,则弹出指定索引元素

print(fruits.pop())//弹出最后一个元素,并打印
print(fruits)
print(fruits.pop(0))//弹出第一个元素,并打印
print(fruits)

注意此时结果为:

oranger
["pear", "bananer"]
pear
["bananer"]

假如不知道元素的索引,而直到具体要删除的元素值,也可以直接调用 remove()方法删除,注意 删除之后,还可以继续使用该元素。

fruits = ["apple","bananer","oranger","prea"]
print(fruits)
delete = "bananer"//删除的元素
fruits.remove(delete)//调用方法删除指定元素值
print(fruits)
print(delete)//最后打印删除掉的元素

结果为:

["apple", "bananer", "oranger", "prea"]
["apple", "oranger", "prea"]
bananer
列表排序

调用 sort() 对列表元素进行排序,默认是按自然顺序排序,如果要逆向排序,可传入 参数reverse=True,排序之后 列表的顺序就永久改变了。

fruits = ["bananer","apple","oranger","prea"]
print(fruits)
fruits.sort()
print(fruits)

结果为:

["bananer", "apple", "oranger", "prea"]
["apple", "bananer", "oranger", "prea"]

假如我们想临时该表一下列表的顺序,可以使用 sorted()方法

fruits = ["bananer","apple","oranger","prea"]
print(fruits)
print(sorted(fruits))
print(fruits)

结果为:

["bananer", "apple", "oranger", "prea"]
["apple", "bananer", "oranger", "prea"]
["bananer", "apple", "oranger", "prea"]

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

使用 reserse() 方法,翻转列表元素
  fruits = ["bananer","apple","oranger","prea"]
  print(fruits)
  fruits.reverse()//翻转列表元素
  print(fruits)

结果为:

["bananer", "apple", "oranger", "prea"]
["prea", "oranger", "apple", "bananer"]
使用len()方法获取列表长度
fruits = ["bananer","apple","oranger","prea"]
print(len(fruits))

结果明显为4.

for 循环遍历列表

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

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

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

bananer
apple
oranger
prea

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

快速组装数字列表

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

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

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

列表生成式

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

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

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

使用切片裁剪获取子列表

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

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

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

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

列表中的数据是可变的,我们经常用它来存储可变的数据源

元组跟列表一样也是用来存储数据源的,但是它存储的数据源是不可变的

元组定义的格式也不一样,为(xxx,yyy,zzz).

对于元组的操作,跟列表一样

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

参考:廖大教程https://www.liaoxuefeng.com/w...

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42876.html

相关文章

  • 使用Anaconda实现Python2和Python3共存及相互转换

    摘要:按目前的发展趋势,未来的主流版为。这里介绍一个强大的软件,它实现和两个版本的共存,并且可以相互转换。应用程序是包和环境管理器。另外值得一提的是,并不仅仅管理的工具包,它也能安装非的包。实际上,脚本和程序使用的默认是附带的。 前言 初学Python时,总是被python的两个不太兼容的版本搞得头昏脑胀。按目前的发展趋势,python未来的主流版为python3。但是我们经常会遇到一些很有...

    Salamander 评论0 收藏0
  • windows下安装python+scrapy

    摘要:好啦一切准备工作就绪,现在开始安装库安装成功后,安装就简单了,在命令提示符窗口直接输入命令回车现在一切都搞定了,可以新建一个测试,敲一个基于框架的爬虫程序咯。 最近忽然有了想要学习python爬虫的想法,但是首先需要安装工具。python安装倒是很轻松,只要傻瓜式一键安装即可,但是在Windows下安装scrapy倒不是件容易的事情。言归正传,说下我从昨天下午到今天上午安装的步骤: 1...

    dantezhao 评论0 收藏0
  • 傻瓜式的php+mysql伪静态(真实存在的html页面)

    摘要:伪静态大家应该知道例如你的页面生成的页面为为了和容易被百度等搜索引擎抓取,也为了防止高并发的时候占用服务器资源我们应该把页面的链接显示为等类似格式,反正就是为后缀。我自己没有深入研究这个,但是我简单实现了这个。 伪静态大家应该知道例如你的php页面生成的页面为xxx.php?id=1为了seo和容易被百度等搜索引擎抓取,也为了防止高并发的时候占用服务器资源我们应该把xxx.php?id...

    罗志环 评论0 收藏0

发表评论

0条评论

Andrman

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<