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 ...
随机推荐
- 兼容ie的background-size: cover;
.bg{ background: url() no-repeat; background-size:cover; filter: progid:DXImageTransform.Microsoft.A ...
- MySQL事件的先后
今天闲聊之时 提及MySQL事件的执行,发现一些自己之前没有注意的细节 如果在执行事件过程中,如果insert的存储过程发生意外 会如何 USE iot2; CREATE TABLE aaaa (ti ...
- MVC4 中使用 Area 和 注意的地方
在MVC项目中经常会使用到Area来分开不同的模块让项目结构更加的清晰. 步骤如下: 项目 –> 添加 -> 区域 (Area) 输入 Admin 添加成功后 Area包含:创建一个空 ...
- MySQL数据库(7)_MySQL 数据备份与还原
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
- PAT 天梯赛 L1-024. 后天 【取余】
题目链接 https://www.patest.cn/contests/gplt/L1-024 题意 给出一个数,表示星期几,输出后天是星期几 思路 取余的时候要小心点 AC代码 #include & ...
- $Java HttpClient库的使用
(一)简介 HttpClient是Apache的一个开源库,相比于JDK自带的URLConnection等,使用起来更灵活方便. 使用方法可以大致分为如下八步曲: 1.创建一个HttpClient对象 ...
- shell set 命令
用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性.在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性,不带任何参数的set命令将显示sh ...
- linux du与ls查看文件大小时的区别
du和ls查看文件大小的区别 du == disk usage (磁盘使用量,占用的磁盘空间)du 的基本使用du -s #s参数是可以统计占硬盘空间大小的如 du -skh web-k或-- ...
- 在Java中调用Python代码
极少数时候,我们会碰到类似这样的问题:与A同学合作写代码, A同学只会写Python,不熟悉Java ,而你只会写Java不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方 ...
- 如何单用户模式破解root密码&救援模式破解root密码
学了几天Linux,终于到了装逼时刻,看看如何破译别人的root密码,哈哈哈哈..... 单用户模式破解root密码 重置Centos 7 Root密码的方式 step1 - 在启动grub菜单,选择 ...