Python培训
美国上市Python培训机构

400-111-8989

热门课程

Python特色数据类型(列表)

  • 发布:Python培训
  • 来源:教程
  • 时间:2017-10-10 15:17

列表

列表,可以是这样的:

分享了一波我的网易云音乐列表

今天开始讲Python的特色数据类型,注意,是特色

说到特色,我先想到的是吃的:

Python提供了列表这种数据类型来存储由多个值构成的序列

创建列表

用逗号将不同数据项分隔开,整体放在一个方括号 [ ] 里就创建了列表

列表中的数据类型可以是相同的(如上面的int和str类型)

也可以是不同的

如:

更厉害的是,列表里还可以嵌套列表

我又想到俄罗斯套娃【捂脸】

空列表定义:

结合空字符串理解

查看列表类型:

列表的基本操作

1. 通过索引取出列表的元素

方法:

列表名[索引数字]

取出列表list1的第0个位置的元素

注意:这里索引编号是从0开始,到4结束,(索引4对应着5这个元素值)

所以取索引5的时候会报错:

报错信息提示索引超出列表范围

2.使用加号连接列表

使用方法:

列表1+列表2

3.列表复制阵列

使用方法:

列表*次数

4.求列表长度

使用方法:

len(列表)

5.对列表元素循环

使用方法:

for 变量 in 列表:

print(变量)

6.检查列表中是否存在某个元素(返回的是布尔值 bool )

使用方法:

元素 in 列表

7.删除列表

使用方法:

del 列表名

删除之后,就不能显示list1了

8.删除列表中索引为 i 的元素

使用方法:

del list1[i]

索引为2的元素‘c’被删除了

9.返回列表中最大的值

使用方法:

max(列表名)

list2 中的字符串可以比较大小

但是list4 中的取最大值报错了,提示是str和float不能比较大小

10.返回列表中最小的值

使用方法:

min(列表名)

列表切片

列表切片指的是将列表的一部分切出来,有点像字符串切片

列表切片的形式是:

list[起始索引:终止索引(不包含):步长间隔]

还有一些特殊的切片省略:

我们来看个好玩的:

这说明什么?你好好思考我们之前讲过的id()函数

修改列表元素

列表是一种可变的数据类型,所以可以修改其内容

列表的一些方法

针对列表,可以有一些方法操作列表,这里的方法可以理解为函数

我们分别演示一下:

1.list.append( obj )

在列表末尾添加新的对象

2.list.count( obj )

统计某个元素在列表中出现的次数

这里分别统计了list1中字符串1和整型1出现的次数

3.list.extend(seq)

在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

extend添加单个元素和append很像,但他可以一次添加更多元素,元素可以是列表

4.list.index(obj)

从列表中找出某个值第一个匹配项的索引位置

在第一个索引位置就找到了值为1的元素

5.list.insert(index, obj)

将对象插入列表

index是插入的位置,obj是插入的内容

可以看出,我们指定的索引是2,最后‘a’插在了原来索引2的元素 3 的前面

当然,我们也可以插入一个列表

6.list.pop(obj=list[-1])

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

可以看出,执行这个方法有返回值,返回值是被删除的那个列表最后一个元素

我们也可以指定删除的索引

7.list.remove(obj)

移除列表中某个值的第一个匹配项

8.list.reverse()

反向列表中元素

和list4[::-1]效果一样

9.list.sort([func])

对原列表进行排序

字符串也是能比较大小的,你还记得么?不记得就去回顾字符串那节课:

这里默认为升序,如果我要逆序排列呢?

删除列表中的元素

del操作可以删除整个列表或者列表的子列表

指定索引 0 删除元素:

删除列表的字列表:

删除整个列表:

删除之后再次访问list1就报错了~

列表生成式(难点)

在Python的列表中,列表生成式体现了Python优雅的特色

如果让你生成一个列表,元素是1~10的平方,你会怎么生成?

可能,你会这样:

小明:老师!你讲错了!你只给了前五个的!

小明啊,不是老师错了,是老师懒啊,程序员都喜欢偷懒的,之后的规律大家都懂的,我就不打了

小红:老师!我有更好的想法

哦?你说说.

小红:老师,我们之前学了for循环,可以这样生成这个列表的:

小红:先建立个空列表,再每次循环将元素append()进去

最后就ok啦~\(≧▽≦)/~啦啦啦

小红真棒!小明你好好学习一下

不过,今天我们要打开新世界的大门了!!!

不要激动!小明,你怎么流鼻血了??

列表生成式来解决这一问题:

一行代码搞定!,是不是很优雅,哈哈

大家比较一下循环和列表生成式,发现列表生成式结构如下

[表达式 for i in 序列]

小明:老师!如果循环里是双层的,你还能用列表生成式?

这。。。当然可以!

其实,还有这些操作:

排列组合(其实相当于双层循环)

求出1~10中能被3整除的数的平方做成列表:

通过if来筛选符合条件的(就是循环里嵌套判断)

其实呢,你们刚学的列表生成式是Python高级编程的内容,但是你已经学会了

是不是感觉自己很棒棒啊!

预约申请免费试听课

怕钱不够?可就业挣钱后再付学费!    怕学不会?助教全程陪读,随时解惑!     担心就业?一地学习,可全国推荐就业!

上一篇:五分钟入门Python自然语言处理
下一篇:python3使用requests模块爬取页面内容

很强!用Python实现3D建模!

Python系统学习流程图,教你一步步学习python

Python IDE推荐7个你可能会错过的Python IDE

python工程师常用的开发工具,是这三个!

选择城市和中心
贵州省

广西省

海南省