列表: 列表由一系列按特定顺序排列的元素组成。你可以创建包涵字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。

列表

在Python中,用方括号([ ])来表示列表,并用逗号来分割其中的元素。

如:

bicycles=['trek','cannondale','redline','spcialized']

访问控制列表:

列表是有序集合,因此要访问列表的任何元素,只需要将该元素的位置或索引告诉Python即可。 要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

如:

bicycles=['trek','cannondale','redline','specialized']
print(bicycles[0])

索引从 0 而不是1开始。   将索引指定为-1,可让Python返回最后一个列表元素; 以此类推,索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素。

修改列表元素

修改列表元素的语法于访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。

如:

motorcycles=['honda','yamaha','suzuki']
motorcycles[0]='ducati'

在列表中添加元素

在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。

方法append()将元素添加到列表末尾。

如:

motorcycles=['honda','yamaha','suzuki']
motorcycles.append('ducati')

方法insert( )可在列表的任何位置添加新元素。

如:

motorcycles=['honda','yamaha','suzuki']
motorcycles.insert(2,'ducati')

从列表中删除元素

如果知道要删除的元素在列表中的位置,可使用 del 语句。

如:

guests=['wang','zhang','chen','meng']
del guests[1]

方法pop( ) 可删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

如:

motorcycles=['honda','yamaha','suzuki']
popped_motorcycles=motorcycles.pop()
print(popped_motorcycles)

pop( )可以用来删除列表中任何位置的元素,只需在括号中指定要删除的元素索引即可。

PS:如果你要从列表中删除一个元素,切不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop( )。

如果你只知道要删除的元素的值,可使用方法remove()。

如:

motorcycles=['honda','yamaha','suzuki']
motorcycles.remove('yamaha')

使用remove( )从列表中删除元素时,也可接着使用它的值,但是需要提前将值存到变量中。

如:

motorcycles=['honda','yamaha','suzuki']
too_expensive='yamaha'
motorcycles.remove(too_expensive)

PS:方法remove( ) 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

对列表进行永久排序

Python方法sort()能够较为轻松地对列表进行排序。 这种排序方式是永久性地修改了列表元素的排列顺序,再也无法恢复到原来的排列顺序。

如:

cars=['bmw','audi','toyota','subaru']
cars.sort()

也可以进行与字母相顺序反的顺序排列列表元素,为此,只需向sort()方法传递参数reverse=True。

如:

cars=['bmw','audi','toyota','subaru']
cars.sort(reverse=True)

对列表进行临时排序

要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。

如:

cars=['bmw','audi','toyota','subaru']
print(cars)
print('Here is the original list:')
print(sorted(cars))

如果要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递函数reverse=True

如:

cars=['bmw','audi','toyota','subaru']
print(sorted(cars,reverse=True))

倒着打印列表

要反转列表元素的排列顺序,可以使用方法reverse()。 注意:reverse()不是指按与字母相反的顺序排列元素,而只是反转列表元素的排列顺序。

如:

cars=['bmw','audi','toyota','subaru']
cars.reverse()

方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此,只需对列表再次调用reverse()即可。

确定列表长度

使用函数len()可快速获悉列表的长度。

如:

cars=['bmw','audi','toyota','subaru']
print(len(cars))

Python计算列表元素数时从1开始,因此确定列表长度时,不会遇到差一错误。

学习Python笔记---列表简介的更多相关文章

  1. Python编程从入门到实践笔记——列表简介

    Python编程从入门到实践笔记——列表简介 #coding=utf-8 #列表——我的理解等于C语言和Java中的数组 bicycles = ["trek","cann ...

  2. python入门学习:2.列表简介

    python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么   列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  3. 【零基础入门学习Python笔记013】元祖:戴上了枷锁的列表

    元组:戴上了枷锁的列表 因为和列表是近亲关系.所以元祖和列表在实际使用上是很相似的. 本节主要通过讨论元素和列表究竟有什么不同学习元祖. 元组是不可改变元素的.插入.删除或者排序都不能够.列表能够随意 ...

  4. 学习Python笔记---操作列表

    1.for循环: 编写for循环时,对于用语存储列表中每个值的临时变量,可指定任何名称. 在for循环中,想包含多少行代码都可以,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次. ...

  5. “笨方法”学习Python笔记(1)-Windows下的准备

    Python入门书籍 来自于开源中国微信公众号推荐的一篇文章 全民Python时代,豆瓣高级工程师告诉你 Python 怎么学 问:请问你目前最好的入门书是那本?有没有和PHP或者其他语言对比讲Pyt ...

  6. python笔记-列表和元组

    列表和元组: -可以将列表和元组当成普通的数组 -列表和元组可以保存任意类型的python对象 -通过从0开始的数字索引访问元素 -列表和元组可以存储不同类型的对象 列表和元组的区别: -列表元素使用 ...

  7. Python学习---Python下[列表]的学习

    列表[list]用中括号[]表示,处理一组有序项目的数据结构,列表的类型是可变的数据类型,类型是list 列表是可变/线程不安全的 # type(a) = list  利用type判断元素离线 # 切 ...

  8. python初步学习-python数据类型-列表(list)

    列表 list 在 python 中具有非常强大的功能 定义 在python中,用方括号表示一个list:[] 在方括号里面,可以是 int,也可以是 str类型的数据,甚至也可以是Flase/Tru ...

  9. 【零基础入门学习Python笔记012】一个打了激素的数组3

    列表的一些经常使用操作符 比較操作符 逻辑操作符 连接操作符 反复操作符 成员关系操作符 +表示两个连接.*表示复制. list中"+"两边的类型必须一致. 演示样例: water ...

随机推荐

  1. thinkphp 组合查询

    组合查询的主体还是采用数组方式查询,只是加入了一些特殊的查询支持,包括字符串模式查询(_string).复合查询(_complex).请求字符串查询(_query),混合查询中的特殊查询每次查询只能定 ...

  2. 【Uva 10003】Cutting Sticks

    [Link]: [Description] 给你一根长度为l的棍子; 然后有n个切割点; 要求在每个切割点都要切割一下; 这样,最后就能形成n+1根小棍子了; 问你怎样切割,消耗的体力最小; 认为,消 ...

  3. 前端面试题之一JAVASCRIPT(理论类)

    一.请描述一下 cookies.sessionstorage .localstorage 和session的区别?(1)cookie是网站为了标示用户身份而储存在用户本地终端(client side) ...

  4. Android之AbsoluteLayout(绝对布局)

    1.属性简介 为了适配不同机型,绝对布局使用很少! android:layout_x="50dp" android:layout_y="100dp"也只有在Ab ...

  5. Android之FrameLayout帧布局

    1.简介 这个布局直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角; 帧布局的大小由控件中最大的子控件决定,如果控件的大小一样大的话,那么同一时刻就只能看 ...

  6. 通过数据库中的表,使用 MyEclipse2017的反向生成工具-->hibernate反转引擎引擎(MyEclipse2017自带的插件) 来反转生成实体类和对应的映射文件

    通过数据库中的表,使用 MyEclipse2017的反向生成工具-->hibernate反转引擎引擎(MyEclipse2017自带的插件) 来反转生成实体类和对应的映射文件   文章目录 Ja ...

  7. SpringBoot学习笔记(二):SpringBoot访问静态文件、捕获全局异常、集成Thymeleaf、集成JSP

    SpringBoot访问静态文件 什么是静态文件? 不需要通过web容器去得到的文件,直接通过路径就能得到的文件,比如项目的css,js,img等文件. 所有的资源文件都应该在src/main/res ...

  8. vue中使用watch函数,当数据改变时自动引发事件

    本来我的需求是这样的,使用ElementUI的日期选择器,当日期选择器被更改时需要根据新日期来向服务器获取新数据,但是发现这个日期选择器没有change事件,后来终于发现vue有个watch函数就是用 ...

  9. BeanUtils工具类copyProperties方法缺点及解决

    使用类为spring-beans:4.3.13release包中的 org.springframework.beans.BeanUtils BeanUtils.copyProperties(Objec ...

  10. Python学习day15-函数进阶(3)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...