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 ...
随机推荐
- 洛谷 P2261 [CQOI2007]余数求和
洛谷 一看就知道是一个数学题.嘿嘿- 讲讲各种分的做法吧. 30分做法:不知道,这大概是这题的难点吧! 60分做法: 一是直接暴力,看下代码吧- #include <bits/stdc++.h& ...
- jQuery 属性操作
1 css操作 2 文本操作 3 属性操作 4 位置 5 尺寸 1.css操作 addClass();// 添加指定的CSS类名. removeClass();// 移除指定的CSS类名. hasCl ...
- 启动hadoop集群
1.配置core-site.xml(每个节点上都要配置) 路径: /usr/local/hadoop-2.7.3/etc/hadoop/core-site.xml 配置项1: name: fs.def ...
- [不常用] - CSRF(跨站点请求伪造)
CSRF,Cross Site Request Forgery,即跨站点请求伪造. 这种攻击是指,在用户正常登录系统以后,攻击者诱使用户访问一些非法链接,以执行一些非法操作. 比如:如果删除用户操 ...
- 42和为S的两个数字
题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 设置 ...
- 区块链入门级别认知(blockchain)
区块链入门级别认知(blockchain) 前言:今天参加了迅雷关于区块链的大会,学习和感受总结一下 之前的认知在:几个混迹互联网圈关于区块链 耳熟能详的 热词 “比特币” “区块链” “挖矿” ,知 ...
- 初学JQuery相关知识点
[简单的JQuery]注册事件的函数. $(document).ready(function(){}) [JQuery提供的函数]$.map(array,fn) 对数组array中每个元素调用fn函数 ...
- Web前端开发的基本要求和认识
Web前端开发技术包括三个要素:HTML.CSS和JavaScript,但随着RIA的流行和普及,Flash/Flex.Silverlight.XML和服务器端语言也是前端开发工程师应该掌握的.Web ...
- layer关闭弹窗
一.关闭弹出窗 这是layer官网给出的帮助手册,讲解的比较详细 分成两种情况: 1.弹出层不是新的页面的时候,直接获得该弹窗的索引,然后执行close方法 layer.close(); 2.弹出窗是 ...
- 【Head First Servlets and JSP】笔记3:Servlet的生命周期
1.servlet的存在就是要为客户服务.servlet的任务就是得到一个用户的请求,再发回一些响应. 请求可能很复杂,也可能很简单,例如,“为我的购物车结账”,这个请求携带了一些重要的数据,你必须知 ...