一、列表是什么

  1. 列表:由一系列按特定顺序排列的元素组成(列表是有序集合)。

  2. 表示:用方括号[]来表示,并用逗号来分隔其中的元素。

  3. 访问:访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。请求获取列表元素时,Python只返回该元素,而不包括方括号和引号。

  4. 列表索引从0开始:在Python中,第一个列表元素的索引为0,而不是1。要访问第四个列表元素,可使用索引3。索引-1返回列表最后一个元素。索引-2返回倒数第二个列表元素

  5. 使用列表中的各个值:可像使用其他变量一样使用列表中的各个值。例如,可使用拼接(+)根据列表中的值来创建消息。

 1 F=['red','blue','green','yellow']
2
3 #访问列表元素:
4 print(F[2]) #列表名称+[索引]
5
6 #列表索引从0开始:
7 print(F[0]) #第一个元素
8 print(F[3]) #第四个元素
9 print(F[-1]) #最后一个元素
10 print(F[-3]) #倒数第三个元素
11
12 #使用列表中的各个值:
13 print("我最喜欢的颜色是"+F[0]+"。")

运行代码结果如下:

二、修改、添加和删除元素 

  1.修改列表元素

  要修改列表元素,可指定列表名和要修改的元素的索引再指定该元素的新值。【列表名[索引]=新值】

1 #   1.修改列表元素:
2 F=['red','blue','green','yellow']
3 print(F)
4 F[2]="black" #列表名[索引]=新值
5 print(F)

代码运行结果:

  2. 添加列表元素

  (1)在列表末尾添加元素:使用方法.append()。可创建一个空列表,再使用一系列的append()语句添加元素。【列表.append(值)】

  (2)在列表中插入元素:使用方法.insert() 在列表任何位置添加新元素。【列表.insert(索引,值)】。要特别注意当索引为负值时插入的位置。

 1 #   2.添加列表元素
2 A=[90,80,'green']
3 print(A)
4 #(1)在列表末尾添加元素
5 A.append(100) #列表名.append(值)
6 print(A)
7 #(2)在列表中插入元素
8 A.insert(1,20.6) #列表名.insert(索引,值)
9 print(A)
10 A.insert(-1,55) #注意:列表.insert(索引 = -1, 值)时,当索引 = 负数时,是从倒数倒数第二位开始插入。
11 print(A)

代码运行结果:

  3.删除列表元素

  (1)使用del语句删除:前提是知道索引。【del 列表[索引]】

  (2)使用方法.pop()删除:方法pop()可删除列表元素,并接着使用它。方法中无参数时,默认删除列表末尾元素。【列表.pop(索引)】

  (3)根据值删除元素:不知道元素索引,知道值,使用.remove()方法删除,使用remove()从列表中删除元素时,也可接着使用它的值。【列表.remove(值)】

注意:方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
 1 #   3.删除列表元素:
2 B=["C#","C++","python","java","GIS","RS","WebGIS"]
3 print(B)
4
5 #(1)使用del语句删除
6 del B[1] #del 列表[索引]
7 print(B)
8
9 #(2)使用方法pop()删除
10 B.pop() #方法中无参数时,默认删除列表末尾元素。列表.pop()
11 print(B)
12 b1=B.pop() #使用方法pop()删除列表元素时,可以接着使用它。所以将其赋值给变量f1
13 print(b1)
14 print(B)
15 B.pop(0) #删除指定位置元素。列表.pop(索引)
16 print(B)
17
18 #(3)根据值删除:不知索引,使用方法 .remove()
19 C=[11,22,33,44,55,66]
20 print(C)
21 C.remove(33)
22 print(C)
23 mm=66 #使用remove()从列表中删除元素时,也可接着使用它的值。但是它的使用与.pop()不同,不能使用变量=列表.remove(),而是命名变量=列表元素
24 C.remove(mm)
25 print(C)
26 print("That man is "+str(mm)+" years old.") #要用str()将mm转为字符串输出,不然会报错:TypeError: can only concatenate str (not "int") to str

代码运行结果:

三、组织列表

  1. 使用方法 .sort()对列表进行永久性排序

  方法.sort()按字母顺序排列永久改变列表顺序,如果要按字母顺序相反方向排列元素,则需向方法中传递参数reverse=True。【列表.sort()】或【列表.sort(reverse=True)】

1 #使用方法 sort()对列表进行永久性排序
2 Alist1=['Python','123','WebGIS','Cnblogs']
3 print(Alist1)
4 Alist1.sort() #降序排列
5 print(Alist1)
6 Alist2=['Python','123','WebGIS','Cnblogs']
7 Alist2.sort(reverse=True) #升序排列
8 print(Alist2)

代码运行结果:

  2. 使用函数 sorted()对列表进行临时排序

  函数sorted()按字母顺序临时改变列表顺序,如果要按字母顺序相反方向排列元素,则需向函数中传递参数reverse=True。【sorted(列表)】或【sorted(列表,reverse=True)】

注意:临时排序与永久排序不一样:临时排序定义列表后,不能【sorted(列表)】再【print(列表)】。因为是临时排序,直接【print(列表)】会输出原列表。

 1 #使用函数 sorted()对列表进行临时性排序
2 print("降序排列")
3 Alist1=['123','Cnblogs','Python','WebGIS','B'] #定义列表
4 print(Alist1) #输出原列表
5 print(sorted(Alist1)) #临时降序排序
6 print(Alist1) #再次输出列表,与原列表相同
7
8 print("\n升序排列")
9 Alist2=['Python','123','WebGIS','Cnblogs'] #定义列表
10 print(Alist2) #输出原本列表
11 print(sorted(Alist2,reverse=True)) #输出临时升序排列!注意反向排序表达!
12 print(Alist2) #再次输出列表,与原列表相同
13 # 注意临时排序与永久排序不一样:临时排序定义列表后,不能【sorted(列表)】再【print(列表)】。因为是临时排序,直接【print(列表)】会输出原列表。

代码运行结果:

  • 拓展一:字符编码排序

python默认编码:

  python 2.x默认的字符编码是ASCII,默认的文件编码也是ASCII。

  python 3.x默认的字符编码是unicode,默认的文件编码是utf-8。

两种编码方式排序相同:以十进制表示部分字符编码:

0~9:48~57

A~Z:69~90

a~z:97~122

  • 拓展二:函数和方法形式上的区别

  (1)方法:【变量.方法(其他参数)】,其他参数可无。例如:Alist.sort(reverse=True)

  (2)函数:【函数(变量,其他参数) 】,其他参数可无。例如:sorted(Blist,reverse=True)

  3. 倒着打印列表

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

注意:.reverse()不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序

1 D=['a','c','100','e','A']
2 print(D) #原列表
3 D.reverse() #第一次反转
4 print(D)
5 D.reverse()#第二次反转,变回原列表
6 print(D)

代码运行结果:

  4. 确定列表的长度

  使用函数len()获取列表长度。【len(列表)】

注意:python计算元素时从1开始,要与列表索引区别开。

1 D=['a','c','100','e','A']
2 print(len(D))

代码运行结果:

Python笔记(2)——列表一:列表简介(Python编程:从入门到实践)的更多相关文章

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

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

  2. Python编程从入门到实践笔记——操作列表

    Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...

  3. Python编程从入门到实践笔记——文件

    Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...

  4. Python编程从入门到实践笔记——函数

    Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...

  5. Python编程从入门到实践笔记——用户输入和while循环

    Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...

  6. Python编程从入门到实践笔记——字典

    Python编程从入门到实践笔记——字典 #coding=utf-8 #字典--放在{}中的键值对:跟json很像 #键和值之间用:分隔:键值对之间用,分隔 alien_0 = {'color':'g ...

  7. Python编程从入门到实践笔记——if语句

    Python编程从入门到实践笔记——if语句 #coding=utf-8 cars=['bwm','audi','toyota','subaru','maserati'] bicycles = [&q ...

  8. #Python编程从入门到实践#第四章笔记

    #Python编程从入门到实践#第四章笔记   操作列表 ​​​1.遍历列表 使用for循环,遍历values列表 for value in values: print(value) 2.数字列表 使 ...

  9. 《python编程从入门到实践》读书实践笔记(一)

    本文是<python编程从入门到实践>读书实践笔记1~10章的内容,主要包含安装.基础类型.函数.类.文件读写及异常的内容. 1 起步 1.1 搭建环境 1.1.1 Python 版本选择 ...

  10. Python编程从入门到实践笔记——异常和存储数据

    Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...

随机推荐

  1. LOOP GROUP BY 分组循环的使用方法小栗子

    原文链接:https://blog.csdn.net/lmf496891416/article/details/111317377 1.格式: LOOP AT 内表 INTO DATA(工作区) GR ...

  2. react 基础知识

    基础知识 css-module react 将js转为vdom,react-dom将vdom转为dom // 外面一层是一个动态值,里面的表示的是对象 <img src={logo} style ...

  3. linux 安装 vsftpd ftp 服务端

    安装 yum install vsftpd 修改:/etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=Y ...

  4. python批量更改文件名并移动到新的文件夹

    python批量更改文件名并移动到新的文件夹 前言: 1. 这里的代码以批量命名如: 路径"E:\下载\1\xxxx.mp4"."E:\下载\2\xxxx.mp4&quo ...

  5. select选项中的内容和其他输入框不对齐

    有时候总会遇见莫名其妙的问题,如图中(为了清除的表示问题,我又用画图将偏离更夸张些).为了解决这个问题,只好取消样式优化,同时自己加小箭头.但是为什么会有这样的问题啊 /*取消iphone样式优化*/ ...

  6. JS学习-PromiseWorker

    PromiseWorker PromiseWorker是一个ChromeWorker,调用而不是postMessage()发送消息,而是调用post(),它返回一个Promise. PromiseWo ...

  7. Java流程控制之break、continue、goto

    break.continue break在任何循环语句的主体部分,均可用break控制循环的流程.break用于强行退出循环,不执行循环中剩余的语句.(break语句也在switch语句中使用) co ...

  8. centos7编译安装LNMP服务架构

    CentOS7.4 源码编译安装LNMP  1.基于CentOS7.4源码编译安装得lnmp 系统环境CentOS 7.4 系统最小化安装,只安装了一些常用包(vim.lirzs.gcc*.wget. ...

  9. 在Unity3D中开发的Sketch Shader

    Pencil Sketch Shader 特点 此素描渲染风格的Shader是顶点片元Shader,由本人手动编写完成. 此素描渲染风格的Shader已经在移动设备真机上进行过测试,可以直接应用到您的 ...

  10. mysql之字段约束-第五篇

    数据库的完整性约束是为了在数据库应用中保证数据的一致性和正确性.所以在创建数据表时定义其字段的约束是非常有必要的. 主键约束 主键(primary key)是一个列或者列的组合,其值能唯一地标识表中的 ...