列表(list),是用方括号[]括起来的一种数据结构,元素和元素之间用逗号分隔,列表中的元素是可以进行增删查改等一系列操作的,列表通常这样表示:

列表名 = [元素1,元素2,元素3]

我们从建、增、删、查、改5个维度来学习列表。

1、建

列表中的数据没有类型的限制,可以是数值型也可以是字符型,还可以混搭。新建一个列表i_list,列表中的数据是数值型。

In [1]:#新建一个列表i_list = [2,5,8]i_list
Out[1]:[2,5,8]

可以用type函数查看一个列表的数据类型,可以看到i_list列表的类型为list

In [2]:type(i_list)
Out[2]:list

新建一个字符型的列表s_list,里面存储字符

In [3]:s_list = ["a","b","c"]s_list
Out[3]:["a","b","c"]

新建一个混搭型的列表,h_list,既有数值又有字符

In [4]:h_list = [1,"a",2,"b"]h_list
Out[4]:[1,"a",2,"b"]

2、增

增的意思是在列表中增加元素,或在列表中增加列表。

2.1 列表中增加元素

append方法用来在末尾插入新元素,如对i_list列表后边追加一个值10.

In [5]:# 末尾追加i_list.append(10)i_list
Out[5]:[2,5,8,10]

insert方法则可以在指定位置插入新元素,如在s_list列表中第2个位置插入“s”字符,需要注意的是,insert(位置,值),意思是在哪一个位置插入什么值,第一个位置是0,第二个位置是1,因此这里是(1,"s")

In [6]:# 指定插入s_list.insert(1,"s")s_list
Out[6]:["a","s","b","c"]

2.2 列表中增加列表

俗称列表合并,可以用”+”号操作符,如将i_list与s_list两个列表合并在一起,就是纯粹地连接在了一起。

In [7]:i_s = i_list + s_listi_s
Out[7]:[2,5,8,10,"a","s","b","c"]

也可以使用extend方法,a.extend(b),意思是把b列表合并到a列表中,效果是一样的,只不过现在i_list列表就变了,不是单纯的数值型列表了。

In [8]:i_list.extend(s_list)i_list
Out[8]:[2,5,8,10,"a","s","b","c"]

3、删

列表中元素的删除,可以根据元素值删除,也可按索引删除。
remove方法是根据元素删除,指定要删除的元素的值,一次只能删除一个值,如现在删除s_list列表中的“s”字符。

In [9]:s_list.remove("s")s_list
Out[9]:["a","b","c","d"]

pop方法是按照索引删除,即指定要删除字符所在的位置,如删除i_list列表中10这个值,已知10是该列表中的最后一位

In [10]:i_list.pop(-1)i_list
Out[10]:[2,5,8]

以及del函数,永久删除,效果一样,不同的是一个是python中的函数,一个是面向对象的方法。

In [11]:del i_list[-1]i_list
Out[11]:[2,5,8]

4、查

查的意思是查找某个元素是否在列表中,以及通过索引访问该元素。

4.1 查找某个值是否在列表中

可以使用in操作符来查找一个值是否在列表中,返回的结果是逻辑值True/False,这个在之前数据类型中写到过的字符串查找用in的方法是一样的,如查找5是否在i_list列表中。

In [12]:5 in i_list
Out[12]:True

4.2 查找列表中指定位置的值

查找列表中指定位置的值,也就是通过索引来访问该元素。列表是有序的,每一个元素都有其特定的索引,可以使用索引和切片来查找列表中某位置的值。如获取s_list列表中第3个位置的值,得到字符“c”,再来复习一下索引,从0开始递增,那么a的位置是0,b是1,c就是2.

In [13]:s_list
Out[13]:["a","b","c","d"]
In [14]:s_list[2] #获取第3位的值
Out[14]:'c'

取第3位及以后位置的值,就要切片了,:是指所有的值,2:是指从第3位开始,包括第三位以后所有的值。

In [15]:s_list[2:] #获取第3位及以后的值
Out[15]:['c','d']

5、改

对列表中元素的值进行修改,直接查找到位置后赋值即可,就是这么简单粗暴。如对s_list列表中的第一个值,改成大写的A。

In [16]:s_list[0] = "A"s_list
Out[16]:["A","b","c","d"]

可选地,对列表的操作还有排序、复制、计数等,可以看一下。

6、排序

sort方法,默认升序,降序需添加reverse = True参数。

In [17]:#升序s_list.sort()s_list
Out[17]:["A","b","c","d"]
In [18]:#降序s_list.sort(reverse = True)s_list
Out[18]:["d","c","b","A"]

7、复制

copy方法复制列表,如将s_list列表复制一份,则得到它的副本,可以在它的副本基础上做修改。

In [19]:s_list.copy()
Out[19]:["d","c","b","A"]

8、求列表长度

len函数求列表长度,如求s_list列表的长度,得到4,里面有4个元素。

In [20]:len(s_list)
Out[20]:4

9、计数

计数用来统计列表中元素出现的次数,用count方法,如统计t_list列表中元素c出现的次数,结果为1,表示出现了1次。

In [21]:s_lisr.count("c")
Out[21]:1

总结

新建列表:

  • [1,2,3,4]

  • ["a","b","c","d"]

增加元素:append(末尾) / insert(指定位置)

增加列表:extend

删除元素:remove(按值) / pop(按位置)

查找元素:

  • in

  • 索引+切片

修改元素:查找后赋值

排序:sort

复制:copy

长度:len

计数:count

python中列表的基本操作相关推荐

  1. Python中列表和字符串的反转

    要求: 原列表:[13, 30, 42, 85, 9, 45] 反转后的列表:[45, 9, 85, 42, 30, 13] 原字符串:hello 反转后的字符串:olleh Python现成的反转功 ...

  2. 手写Python中列表和字符串的反转

    要求: 原列表:[13, 30, 42, 85, 9, 45] 反转后的列表:[45, 9, 85, 42, 30, 13] 原字符串:hello 反转后的字符串:olleh Python现成的反转功 ...

  3. python中列表 元组 字典 集合的区别

    参考文章:python中列表 元组 字典 集合的区别

  4. python中列表的运用_python中列表的应用

    标签: 本文主要介绍了:python中列表的主要应用和一些列表自带的一些函数 代码: #!/usr/bin/env python # author by lh # -*- coding:utf-8 - ...

  5. python中列表的sort方法_python中列表的sort方法使用详解

    内容简介:python中列表的sort方法使用详解 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的. 排序,数字.字符 ...

  6. python中列表字典和字符串的相互转化

    python中列表字典和字符串的相互转化有两种方法: (1)使用str和eval的方法,一个简单的例子如下: data = {'name' : 'ACME','shares' : 100,'price ...

  7. 四、Python第四课——Python中列表及其操作(增删改查)

    目录 一.Python中的列表 1.列表的定义和赋值 2.列表的使用 二.列表的"增删改查" 1.列表中元素的增加 A.在列表尾添加元素 B.在列表中插入元素 2.列表中" ...

  8. 【Python】Python实战从入门到精通之二 -- 教你使用Python中列表操作

    本文是Python实战–从入门到精通系列的第二篇文章: [Python]Python实战从入门到精通之一 – 教你深入理解Python中的变量和数据类型 Python实战从入门到精通之二 – 教你使用 ...

  9. 总结python中列表、元组、字典、集合的共同点和不同点

    前言: 今天就和大家只聊聊python中列表.元组.字典.集合的共同点和不同点,能力有限,写的不好的地方,请大家多多海涵! 列表list 列表和元组·都是有序的 # 元组与列表相似可以通过索引与切片获 ...

最新文章

  1. python有时候没有智能提示_python没有报错提示
  2. cdoj916-方老师的分身 III 【拓扑排序】
  3. 【Arduino】HX711驱动程序
  4. PIC32单片机harmony开发环境 - uart例程和代码分析
  5. JavaScript —从回调到异步/等待
  6. Flutter Trying to embed a platform view but the PrerollContext does not support embedding
  7. ShadeGraph教程之节点详解2:Channel Nodes
  8. KmeansDBSCAN
  9. 我的MYSQL学习心得(十三) 权限管理
  10. win10 安装vue运行环境
  11. 新闻管理系统的设计与实现
  12. jsp怎么做柱状图_jsp圆饼图与柱状图代码
  13. 用Python写了一个微信聊天机器人
  14. 计算机软考中级合格标准,中级软考多少分及格
  15. pic12f1823单片机入门_PIC单片机:如何建立PICKit3程序编写电路
  16. JAVA 毕业设计 论文题目参考
  17. 【行业专题报告】酒类(白酒、啤酒)-专题资料
  18. WebSocket is already in CLOSING or CLOSED state
  19. SSH远程访问以及控制
  20. 各个框架原理总结归纳

热门文章

  1. 股票图,K线图,蜡烛图,高仿雪球股票
  2. 高通Android系列随身WIFI强行开启adb,关闭商家远程控制
  3. 体验篇 - 部署以太坊私有链 (PoA)
  4. python画哪吒_哪吒票房逼近30亿,python爬取哪吒短评分析
  5. 一句话可以彻底改变一个人的命运
  6. python创建dataframe表格不显示_Python pandas .使用Series创建DataFrame不会保留dtype
  7. iView框架Select组件
  8. VMware ESXI6.0 U盘安装盘制作
  9. 数据算法:Bloom Filter
  10. php 数字 字母,怎么使用php实现数字转字母