Python数据类型-列表(list)增删改查
1、添加元素
添加单个元素:使用append(object)函数可以为列表添加单个元素,参数object为对象;也就是说所有Python的对象都可以添加到列表中。
添加多个元素(合并列表):使用extend(iterable)函数可以为列表添加多个元素,参数iterable为可迭代对象。
以下代码演示了向列表中添加元素的操作:
lst1 = [1,2,3,4,5,6,7,8,9] # 创建列表
lst2 = ['a','b','c'] # 创建列表
lst1.append(10) # 添加单个元素到列表
lst2.extend(['d','e']) # 添加多个元素到列表
print (lst1,lst2)
运行代码之后,显示的结果为:
2、更改元素
更改单个元素:列表[索引位置] = 新元素
示例代码:
lst = [1,2,3,4,5,6,7,8,9] # 创建列表
lst[3]= 'x' # 更改指定位置的元素为新元素
print (lst) # 以上代码运行结果:[1, 2, 3, 'x', 5, 6, 7, 8, 9]
更改多个元素:列表[起始位置,终止位置] = 新元素
lst = [1,2,3,4,5,6,7,8,9] # 创建列表
lst[3:7]= 'x','y' # 更改指定位置区间的元素为新元素,数量无需对应
print (lst) # 以上代码运行结果:[1, 2, 3, 'x', 'y', 8, 9]
3、插入元素
插入单个元素:使用insert(index,object)函数,参数index为索引位置,表示在该位置之前插入新的元素;参数object为对象。
lst = [1,2,3,4,5,6,7,8,9] # 创建列表
lst.insert(0,'列表') # 起始位置插入新元素,0表示第一个索引位置
print (lst) # 以上代码运行结果:['列表', 1, 2, 3, 4, 5, 6, 7, 8, 9]
插入多个元素:列表[索引位置:索引位置] = 新元素;注意,两个索引位置保持一致。
lst = [1,2,3,4,5,6,7,8,9] # 创建列表
lst[3:3]= '*','*' # 指定位置前方插入新元素
print (lst) # 以上代码运行结果:[1, 2, 3, '*', '*', 4, 5, 6, 7, 8, 9]
4、取出元素
使用pop(index)函数,参数index为被取出元素的索引位置。
示例代码:
lst = [1,2,3,4,5,6,7,8,9]
print (lst.pop(5))
print (lst)
运行代码之后,显示的结果为:
5、删除元素
删除指定内容元素:使用remove(object)函数可以删除列表中首次出现的与参数相同的元素,如果列表中不存在与参数相同的元素则抛出异常。
lst = ['你','我','他','我','你','他'] # 创建列表
lst.remove('我') # 删除从左至右第一个与指定内容匹配的元素
print (lst) # 以上代码运行结果:['你', '他', '我', '你', '他']
删除单个指定位置元素:del 列表[索引位置]
lst = ['小','楼','是','个','帅','哥'] # 创建列表
del lst[3] # 删除指定位置的元素
print (lst) # 以上代码运行结果:['小', '楼', '是', '帅', '哥']
删除多个指定位置元素:del 列表[起始位置:终止位置]
lst = ['小','楼','是','个','帅','哥'] # 创建列表
del lst[2:4] # 删除从起始位置至终止位置的多个元素
print (lst) # 以上代码运行结果:['小', '楼', '帅', '哥']
删除末尾元素:使用pop()函数,参数为空即可。
lst = ['小','楼','真','是','帅','哥'] # 创建列表
lst.pop() # 删除末尾的元素
print (lst) # 以上代码运行结果:['小', '楼', '真', '是', '帅']
清空所有元素:
使用clear()函数。
示例代码:
lst = [1,2,3,4,5,6] # 创建列表
lst.clear() # 清空全部元素
print (lst) # 以上代码运行结果:[]
或者,使用del命令:del 列表[:]
lst = [1,2,3,4,5,6] # 创建列表
del lst[:] # 清空全部元素
print (lst) # 以上代码运行结果:[]
6、列表排序
反向排序:使用reverse()函数。
lst = [3,2,4,5,6,1] # 创建列表
lst.reverse() # 反向排序列表元素
print (lst) # 以上代码运行结果:[1, 6, 5, 4, 2, 3]
升降排序:使用sort(cmp,key,reverse)函数,参数cmp为函数,参数key为函数,reverse为布尔值(True和False)。
参数为空时默认为升序排列。
示例代码:
lst = [6,1,2,3,4,5] # 创建列表
lst.sort() # 升序排列列表元素
print (lst) # 以上代码运行结果:[1, 2, 3, 4, 5, 6]
通过设置参数reverse=True,转换为降序排列。
lst = [6,1,2,3,4,5] # 创建列表
lst.sort(reverse=True) # 降序排列列表元素
print (lst) # 以上代码运行结果:[6, 5, 4, 3, 2, 1]
升降序排列也可以使用函数sorted(iterable,cmp,key,reverse),参数iterable为可迭代对象;参数cmp为函数,参数key为函数,reverse为布尔值。
sorted()函数不会改变原列表。
lst = [3,2,4,5,6,1] # 创建列表
print (sorted(lst)) # 输出显示升序列表
print (sorted(lst,reverse=True)) # 输出显示降序列表
print (lst) # 输出显示原列表 # 以上代码运行结果:
# [1, 2, 3, 4, 5, 6]
# [6, 5, 4, 3, 2, 1]
# [3, 2, 4, 5, 6, 1]
7、元组转换为列表
使用list(iterable)函数,参数iterable为可迭代对象。
tup = (3,2,4,5,6,1) # 创建列表
lst = list(tup)
print (lst) # 以上代码运行结果:[3, 2, 4, 5, 6, 1]
Python数据类型-列表(list)增删改查的更多相关文章
- python 关于列表的增删改查及个别的命令
names = ["a","b","c","d","e","e","a ...
- Python学习————列表的增删改查
增加:li.append(对象):追加 注:print(li.append())--->是Noneli.insert(索引,对象):插入到相应位置li.extend(对象):可迭代的添加到尾部, ...
- python列表的增删改查和嵌套
列表 python常用的数据类型 可承载任意的数据类型 列表是有序的,可索引.切片(步长) 列表的创建 list1 = [1, 2, 'whll'] #1. list2 = list() #2. #3 ...
- python数据类型—列表(增改删查,统计,取值,排序)
列表是最常用的数据类型之一,通过列表可以对数据实现方便的存储,修改等操作. 先声明一个空列表: >>> names = [] >>> names [] 可以存多个值 ...
- Python列表的增删改查排嵌套特殊输出格式
Python列表的增删改查排嵌套特殊输出格式 一.列表的样子: a = ['q' , 'w' , 'e ', 'r','t'] a为列表名,[ ]为列表内容,' '为列表内的元素,'q'为a[0] 二 ...
- Python(二)列表的增删改查
一,列表的增删改查 列表中增加元素: 1,从列表的末尾增加一个元素:append("") 2,从列表中插入一个元素:insert(下标位置,插入的元素) 合并列表: 1,name. ...
- 列表的初识,列表的索引切片,列表的增删改查,列表的嵌套,元组的初识,range
1 内容总览 列表的初识 列表的索引切片 列表的增删改查 列表的嵌套 元组的初识(了解) 元组的简单应用(了解) range 2 具体内容 列表的初识 why: str: 存储少量的数据.切片出来全都 ...
- python操作mysql数据库增删改查的dbutils实例
python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...
- day5 列表的增删改查
1,列表的增删改查,其他操作.2,元祖.3,列表的嵌套操作.4,开一点dict. 昨日内容回顾: 字符串的方法:1,find通过元素找索引,可切片,找不到返回-12,index,找不到报错.3,spl ...
随机推荐
- Error : getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
环境 阿里云 centos7 node v8.11.3 npm 5.6.0 错误 npm update 解决 ping registry.npmjs.org 发现https://registry.np ...
- 基于canvas实现的fontawesome动态图标
由于还没有全部实现,实现了一些demo,demo地址在 https://github.com/jiangzhenfei/canvas-fontawesome 实现了动态loading 实现动态电池充电 ...
- mybatis笔记之使用Mapper接口注解
1. mybatis支持的映射方式 mybatis支持的映射方式有基于xml的mapper.xml文件.基于java的使用Mapper接口class,简单学习一下mybatis使用接口来配置映射的方法 ...
- How to read source code[repost]
https://github.com/benjycui/benjycui.github.io/blob/master/posts/how-to-read-open-source-javascript- ...
- Verilog笔记.2.数字逻辑电路
1.数字逻辑电路的种类:1) 组合逻辑:输出只是当前输入逻辑电平的函数(有延时),与电路的原始状态无关的逻辑电路.也就是说,当输入信号中的任何一个发生变化时,输出都有可能会根据其变化而变化,但与电路目 ...
- linux 内核信号量
Linux内核的信号量在概念和原理上和用户态的System V的IPC机制信号量是相同的,不过他绝不可能在内核之外使用,因此他和System V的IPC机制信号量毫不相干. 信号量在创建时需要设置一个 ...
- MySQL登录问题1045 (28000)处理步骤【原创】
MySQL登录问题1045 (28000) 俩台服务器主从复制,从的同步账号无法远程登录主服务器.报错ERROR 1045 (28000): Access denied for user 'root ...
- rabbitmq集群搭建方法简介(测试机linux centos)【转】
本文将介绍四台机器搭建rabbitmq集群: rabbitmq IP和主机名(每台机器已安装RabbitMQ 3.5.6, Erlang 18.1) 192.168.87.73 localhost73 ...
- JVM的分区+查看GC对象是否存活+3种GC算法+7种垃圾收集器+如何减少GC次数
一.JVM的分区: 1.程序计数器(私有) 程序计数器是一块较小的内存分区,你可以把它看做当前线程所执行的字节码的指示器. 在虚拟机的概念模型里,字节码解释器工作时,就是通过改变计数器的值来选择下 ...
- Python 库汇总中文版
这又是一个 Awesome XXX 系列的资源整理,由 vinta 发起和维护.内容包括:Web框架.网络爬虫.网络内容提取.模板引擎.数据库.数据可视化.图片处理.文本处理.自然语言处理.机器学习. ...