Python列表:元素的修改、添加、删除和排序
本文参考自《Python编程:从入门到实践》,作者:Eric Matthes,译者:袁国忠
| 操作 | 语法 | 举例 | 结果 |
| 修改元素 |
motocycles = ['honda', 'yamaha', 'suzuki'] print (motocycles) motocycles[0] = 'ducati' print (motocycles) |
['honda', 'yamaha', 'suzuki'] ['ducati', 'yamaha', 'suzuki'] |
|
| 添加元素 | 在列表末尾添加元素:append() |
motocycles = ['honda', 'yamaha', 'suzuki'] print (motocycles) motocycles.append('ducati') print (motocycles) |
['honda', 'yamaha', 'suzuki'] ['honda', 'yamaha', 'suzuki', 'ducati'] |
|
在列表中插入元素:insert() |
motocycles = ['honda', 'yamaha', 'suzuki'] print (motocycles) motocycels.insert(0, 'ducati') print (motocycles) |
['honda', 'yamaha', 'suzuki'] ['ducati', 'honda', 'yamaha', 'suzuki'] |
|
| 删除元素 | 根据索引删除:del,无法继续使用 |
motocycles = ['honda', 'yamaha', 'suzuki'] print (motocycles) del motocycles[1] print (motocycles) |
['honda', 'yamaha', 'suzuki'] ['honda', 'suzuki'] |
|
删除末尾的元素:pop(),可以继续使用 也可以根据索引删除,如motocycles.pop(0) |
motocycles = ['honda', 'yamaha', 'suzuki'] print (motocycles) popped_motocycle = motocycles.pop() print (motocycles) print (popped_motocycle) |
['honda', 'yamaha', 'suzuki'] ['honda', 'yamaha'] suzuki |
|
|
不知道索引时,根据值删除元素:remove(),可以继续使用 |
motocycles = ['honda', 'yamaha', 'suzuki', 'ducati'] print (motocycles) too_expensive = 'ducati' motocycles.remove(too_expensive) print (motocycles) print (too_expensive) |
['honda', 'yamaha', 'suzuki', 'ducati'] ['honda', 'yamaha', 'suzuki'] ducati |
|
| 元素排序 |
无返回值,彻底改变原值 永久性排序:sort() 反方向排序:sort(reverse = True) |
cars = ['bmw', 'audi', 'toyota', 'subaru'] print (cars) cars.sort() print (cars) cars = ['bmw', 'audi', 'toyota', 'subaru'] cars.sort(reverse = True) print (cars) |
['bmw', 'audi', 'toyota', 'subaru'] ['audi', 'bmw', 'subaru', 'toyota'] ['toyota', 'subaru', 'bmw', 'audi'] |
|
有返回值,原值不会变 临时性排序:sorted() 反方向排序:sorted(reverse = True) |
cars = ['bmw', 'audi', 'toyota', 'subaru'] print (cars) print (sorted(cars)) print (cars) |
['bmw', 'audi', 'toyota', 'subaru'] ['audi', 'bmw', 'subaru', 'toyota'] ['bmw', 'audi', 'toyota', 'subaru'] |
|
|
无返回值,彻底改变原值 永久性反转列表元素的排列顺序:reverse() |
cars = ['bmw', 'audi', 'toyota', 'subaru'] print (cars) cars.reverse() print (cars) cars.reverse() print (cars) |
['bmw', 'audi', 'toyota', 'subaru'] ['subaru', 'toyota', 'audi', 'bmw'] ['bmw', 'audi', 'toyota', 'subaru'] |
|
|
有返回值,不会改变原值 临时性反转列表的排列顺序:[: : -1] |
num = [1, 2, 3, 4] num_new = num[::-1] print(num_new) print(num) |
[4, 3, 2, 1] [1, 2, 3, 4] |
|
| 合并列表 |
+或extend |
A = [1, 2, 3, 4] B = [5, 6, 7, 8] A = A + B 或 A.extend(B) print(A) |
[1, 2, 3, 4, 5, 6, 7, 8] |
Python列表:元素的修改、添加、删除和排序的更多相关文章
- python列表元素的基本操作
1.列表元素的增加 python提供三种方法增加元素,append,extend,insert. 区别:例 list3=[1,10,100,1000,10000] A. list3.append ...
- python 列表元素替换以及删除
>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> letters ['a', 'b', 'c', 'd', ...
- 列表(list)之一定义 添加 删除 排序 反转 索引等其他操作
1.定义: 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. # 列表list1=[&q ...
- mysql 修改 添加 删除 表字段
添加表的字段 alter table 表名 add 字段名 字段的类型 例子: alter table table1 add transactor varchar(10) n ...
- Python 列表元素排重uniq
# -*- coding: gbk -*- def uniq(ls): lsCopy=[e for e in ls] for i in xrange(1,len(ls)): for j in xran ...
- 【转】ubuntu如何修改/添加/删除硬盘分区的挂载(点)?
我(macroliu)的问题:安装ubuntu时,/home单独挂载在一个分区,此后我想调整分区大小,删除了/home对应的分区以及另外几个分区,导致开机时找不到挂载点.把硬盘空闲空间分好区后,想把1 ...
- 元素属性的添加删除(原生js)
添加属性 odiv.setAttribute("title","hello div!"); odiv.setAttribute("class" ...
- Python 列表元素分组,比如 [1,2,3,...20]变成 [[1,2,3],[4,5,6]....](列表生成式解决)
# 生成一个1到20的列表 a=[x for x in range(1,21)] # 把a列表切片,并赋值给b列表,x为0到20且步长为3的列表,在这里具体为[0,3,6,9,12,15,18] # ...
- Python 列表元素里面含有字典或者列表进行排序
示例1:列表里面含有列表进行排序 s = [[1, 2], [100, 2], [33, 3], [25, 6]] s.sort(key=lambda k: k[0]) print(s) 结果: [[ ...
- python 列表元素统计出现的次数并输出字典
import collections my_list = [,,,,,,,,,,,,] print("Original List : ",my_list) ctr = collec ...
随机推荐
- 人工智能-基于百度baidu-ai和图灵机器人实现学说话机器人
本文引用了2个js文件,这里提供下CDN资源,! <script type="application/javascript" src="https://cdn.bo ...
- [转载]在服务器端判断request来自Ajax请求(异步)还是传统请求(同步),x-requested-with XMLHttpRequest
在服务器端判断request来自Ajax请求(异步)还是传统请求(同步) 在服务器端判断request来自Ajax请求(异步)还是传统请求(同步): 两种请求在请求的Header不同,Ajax 异步 ...
- requirejs源码分析: config中shim
shim处理的源码: //Merge shim if (cfg.shim) { eachProp(cfg.shim, funct ...
- windows安装mysql教程2017最新
1.首先在mysql官网下载最新版mysql, 附上链接点击打开链接,根据你的系统型号选择对应的包下载,大约300多兆,版本号为5.7.19 下载完之后,解压缩,是一个标准的mysql文件 2.第二步 ...
- OC导入框架方式#import、@import的区别
#import负责导入程序所需的文件的信息导入到程序中,随着程序所需的文件越来越多,程序就要导入更多的文件,这就带来了越来越长的编译时间,而且有大量重复的.为了解决这个问题可以采用以下办法解决,创建. ...
- windows下载Mysql-python
Mysql-python第三方模块官方不支持windows系统,而国外大学提供了非官方 的支持windows系统的模块,可前往 https://www.lfd.uci.edu/~gohlke/pyth ...
- HttpServlet---getLastModified与缓存
在HttpServlet中重写service方法的代码如下: protected void service(HttpServletRequest req, HttpServletResponse re ...
- 0530JavaScript基础2
常用内置对象 所谓内置对象就是ECMAScript提供出来的一些对象,我们知道对象都是有相应的属性和方法 数组Array(部分相当于列表) 1.数组的创建方式 var colors = ['red', ...
- vue项目的webpack设置请求模拟数据的接口方法
最近在跟着视频写饿了吗vue项目,其中模拟数据由于webpack版本变化,跟视频中不一致,下方博客有解决方案,其实视频里面的还能看懂,现在webpack的服务都在插件包里了,好难找. 请参考:http ...
- 机器学习相关知识整理系列之二:Bagging及随机森林
1. Bagging的策略 从样本集中重采样(有放回)选出\(n\)个样本,定义子样本集为\(D\): 基于子样本集\(D\),所有属性上建立分类器,(ID3,C4.5,CART,SVM等): 重复以 ...