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 ...
随机推荐
- mysql练手
1.根据图创建下列表格 没有外键的表先创建,创建顺序为teacher,class,course,student CREATE TABLE class ( cid INT NOT NULL auto_i ...
- MySQL中因为unique key 非空唯一索引存在导致修改主键失败案例
研发在早期的设计中,由于设计方面的问题,导致在设计表结构的时候,有个表有非空唯一索引而没有主键 在InnoDB存储引擎中,如果没有主键的情况下,有非空唯一索引的话,非空唯一索引即为主键. 那么这就会有 ...
- 我的Android进阶之旅------>【强力推荐】Android开源图表库XCL-Charts版本发布及展示页
因为要做图表相关的应用,后来百度发现了一个很好的Android开源图表库(XCL-Charts is a free charting library for Android platform.) 下面 ...
- PCL+Qt+VS可视化点云
前言 Point Cloud Library (PCL)是一个功能强大的开源C++库,假设可以使用好PCL将会对我们在LiDAR数据处理领域的研究产生巨大帮助.LiDAR技术经过几十年的发展.眼下国内 ...
- ios 避免两个button同一时候被点击
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/superchaoxian/article/details/24631293 这个能够通过[btn ...
- linux中获取系统时间的几种方法
asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime 表头文件 #include<time.h> 定义函数 char * asc ...
- Activity的生命周期整理
Activity主要的三种状态: Running(运行):在屏幕前台(位于当前任务堆栈的顶部) Paused(暂停):失去焦点但仍然对用户可见(覆盖Activity可能是透明或未完全遮挡) Stopp ...
- C++友元概念
采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口. 但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类 ...
- Redis的分布式配置
Redis存在三种级别的分布式部署:主从复制.主从切换.集群配置,推荐使用主从切换模式. 主从复制 启动主服务:端口6379 启动从服务:端口6380, 配置文件中加上 slaveof 127.0.0 ...
- 【HackerRank】The Love-Letter Mystery
James找到了他的朋友Harry要给女朋友的情书.James很爱恶作剧,所以他决定要胡搞一下.他把信中的每个单字都变成了回文.对任何给定的字符串,他可以减少其中任何一个字符的值,例如'd'可以变成' ...