列表是Python中最重要的数据类型,它使用的频率非常非常的高,最大程度的发挥Python的灵活性。

和字符串一样,列表的操作方法也有很多。如果说一头钻进去,可能会导致学习没有重点。在这篇文章当中,首先九柄会跟大家介绍列表的基础操作,然后我会跟大家去说一些列表这个数据类型常用的实战操作。

争取能够对Python列表有一个大概的认识。

Python列表定义

首先我们来看一下列表的定义。列表通常用来存储多个数据,每一个数据之间用逗号隔开,他们被称为元素,列表的左右两边带有中括号。

a_list = [1, 2, 3, 4]

你可以把列表想象成是某种容器,你可以往这个容器里面塞入任何的东西。并且列表当中的元素可以是任意的数据类型,你可以在一个列表当中同时存储数字、字符串,甚至嵌套列表。

a_list = [1, "hello", ["new", "list"]]

当然,虽然列表可以存储不同的数据类型,但是大多数情况下,里面元素的数据类型是一样的,你可以简单理解他和其他的编程语言当中的数组差不多。

Python列表的基本操作

列表的基本操作分为:增、删、改、查。

  • ”查“ 主要是去获取列表的某一个元素或者是多个元素,通过索引和切片可以获取。
  • ”增“ 主要是对这个列表当中去添加一个新的元素。
  • “删” 主要指我们对列表当中的某元素进行删除。
  • “改”主要是这个对这个列表当中的元素去进行修改。

因为列表本身有多个元素,我们可以获取它的长度

a = [1, 2, 3]
print(len(a)) #3

Python列表索引

列表的索引的表示基本上和字符串的表示方法差不多,所以你可以直接引用字符串当中的操作,索引从0开始

man = [1, 2, 3]
print(man[1]) #2
print(man[0]) #1

索引可以是负数,表示倒数第几个,也就是从列表的右边数到左边。索引为 -1 表示获取倒数第一个元素,索引为 -2 表示获取倒数第二个元素。为什么正序数的索引从 0 开始,倒序就不能从 0 开始呢?因为索引为 0 不能同时表示两个元素,会造成指令的冲突。

print(man[-1]) #3

超出索引范围报 IndexError 错误

print(man[8])

Python列表切片

列表的切片呢也基本上和字符串的切片差不多。所以我们可以直接用字符串切片的方法。切片的表示方法是:var[start: end]。 start 表示开始位置的索引号,end 表示结束位置的索引号, 但是不包含 end。

girl = [1,2,3,4,5,6]
part_of_girl = girl[0:1]
print(part_of_girl) # [1]

切片的索引号也可以是负数,但是在使用的时候要确保 end 是在 start 的右边,end - start > 0 。

print(girl[0: -2])
print(girl[-2: -4])

切片的索引号超出范围是不会报错的,取到尽头为止。

print(girl[0:100000000000])

切片的 start 和 end 都可以省略。

girl[1:]
girl[:-1]
girl[:]

切片可以加第三个参数, girl[start:end:step], 其实使用切片时,默认的步长是为 1。

girl[0:3:2]

Python列表添加元素

列表当中添加一个新的元素,我们主要使用两种方法。

第一种方法是使用 append 方法在列表的最后面添加一个元素。

a = [1, 2]
a.append(3)
# [1,2,3]

第二种方法是通过 insert 方法在某个索引的位置添加一个新的元素,对比一下和上一种方法的区别。

a = [1, 2]
a.insert(0, 3)
# [3,1,2]

Python 列表去除重复元素

在列表当中删除元素的方式也有两种。

第1种是通过remove方法移除指定的值。

a = ["a", "b"]
a.remove("a")
# ['b']

第2种是通过 Pop方法,删除指定索引位置的值。

a = ["a", "b"]
a.pop(1)
# ['a']

如果想直接清空这个列表,那么就可以使用clear方法。

a.clear()

比较常见的是,我们经常要对列表当中的元素去重,可以通过先转化成集合类型,然后再转回列表类型。

a = [1, 2, 1, 4, 2]
print(list(set(a)))

Python列表求和

有的时候呢,我们会在一个列表里面去存储很多的数据,并且要对整个列表当中所有的数据去求和,则可以使用 sum 函数

a = [1, 2, 1, 4, 2]
print(sum(a))

Python 列表排序

列表排序也是使用非常非常多的操作,对整个列表排序之后,可能会简化之后的操作。 要实现排序,不一定非得实现排序算法,在Python当中,可以直接调用列表下面的sort 方法实现排序。

a = [1, 5, 3, 2]
a.sort()

如果想从大到小排序呢,我们可以再加上一个reverse参数。

a.sort(reverse=True)

Python列表推导式

列表推导式是我建议每一个Python初学者都掌握的一个进阶技巧。它能够极大的简化一些列表的复杂操作,让我代码变得更加的优雅。列表推导式主要应用的场合,是对列表当中的每一个元素去进行同样的操作,比如说我们想对一个列表当中的每一个元素都转化成字符串,那么就非常适合使用列表推导式来操作。

a = [1, 5, 3, 2]
b = [str(i) for i in a]
# b = ['1', '5', '3', '2']

总结

列表经常出现在初级Python程序员的面试题当中。如果你刚开始学Python,想找一份Python相关的工作,那么在面试过程当中一般都会问到一些关于列表的面试题。

其中一个原因是列表确实用的频率比较高,第2个原因是列表一种可变的数据类型,当对它去进行操作时候,比较容易出现bug,在面试当中,如果说对列表进行考核的话,能够稍微看出一个人的代码功底。

Python自学笔记6-列表有哪些常用操作的更多相关文章

  1. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  2. python 自学笔记(四) 列表

    有几天没有更新博客了,毕竟是自学,最近事情确实比较多,有时候想学的时候反而没时间,到有时间的时候反而不想学.以后得想办法改掉这个缺点,只要有时间就要学习自己想学的东西,希望自学的同学能和我共同交流,其 ...

  3. python自学笔记(一)

    我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...

  4. python学习笔记整理——列表

    Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) ...

  5. python的列表数据类型及常用操作

    列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 列表可以进行的操作包括索 ...

  6. Python列表类型及常用操作

    Python列表类型 1.用途: 存放多个值,可以根据索引存取值 2.定义方式: 在[ ]内用逗号分割开多个任意类型的值 l=['yven','law','lyf'] #l=list(['yven', ...

  7. python学习笔记(2)--列表、元组、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表和元组的操作 列表是我们以后最长用的数据类型之一,通过列表可以最方便的对数据实现最方便的存储.修改等操作 定 ...

  8. 『无为则无心』Python序列 — 18、Python列表概念及常用操作API

    目录 1.列表的概念 (1)列表的定义 (2)列表的应用场景 (3)列表的定义格式 2.列表的常用操作 (1)列表的查找 1)通过下标查找 2)通过方法查找 3)判断是否存在 (2)列表的增加 @1. ...

  9. Python入门笔记(8):列表

    一.序列类型操作符 1.切片[]和[:] 2.成员关系操作符(in ,not in ) 1: s1 = [1,2,3,4,5,6,7] 2: s2 = [2,3,6] 3: s3 = [] 4: fo ...

随机推荐

  1. Java上传文件至SFTP服务器

    Windows搭建SFTP服务器 https://www.cnblogs.com/wangjunguang/p/9453611.html 注意点: 1.以管理员权限运行FreeSSHd 2.如果无法启 ...

  2. 29.MySQL高级SQL语句

    MySQL高级SQL语句 目录 MySQL高级SQL语句 创建两个表 SELECT DISTINCT WHERE AND OR IN BETWEEN 通配符 LIKE ORDER BY 函数 数学函数 ...

  3. SAP Tree

    Effect picture Code as bellow *&---------------------------------------------------------------- ...

  4. 交警也觉得妙——Python 识别车牌

    车牌识别在高速公路中有着广泛的应用,比如我们常见的电子收费(ETC)系统和交通违章车辆的检测,除此之外像小区或地下 车库门禁也会用到,基本上凡是需要对车辆进行身份检测的地方都会用到. 一些背景: 车牌 ...

  5. Lua5.4源码剖析:二. 详解String数据结构及操作算法

    概述 lua字符串通过操作算法和内存管理,有以下优点: 节省内存. 字符串比较效率高.(比较哈希值) 问题: 相同的字符串共享同一份内存么? 相同的长字符串一定不共享同一份内存么? lua字符串如何管 ...

  6. HTML知识点概括——一篇文章带你完全掌握HTML

    HTML知识点概括 前端三件套分别是HTML3,CSS5,JavaScript 稍微介绍一下W3C标准: 结构化标准语言(HTML) 表现标准语言(CSS) 行为标准(DOM,JavaScript) ...

  7. 微信小程序接口请求/form-data/单文件、多文件上传

    1.普通的微信请求封装 1 const http = (options) =>{ 2 return new Promise((resolve,reject) => { 3 wx.reque ...

  8. 构建 API 的7个建议【翻译】

    迄今为止,越来越多的企业依靠API来为客户提供服务,以确保竞争的优势和业务可见性.出现这个情况的原因是微服务和无服务器架构正变得越来越普遍,API作为其中的关键节点,继承和承载了更多业务. 在这个前提 ...

  9. tsconfig常用配置全解

    include, exclude, files配置项 extends配置 compilerOptions下的配置 compilerOptions.allowUnreachableCode compil ...

  10. 建立二叉树的二叉链表存储结构(严6.70)--------西工大noj

    #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct TreeNode ...