本文参考自《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列表:元素的修改、添加、删除和排序的更多相关文章

  1. python列表元素的基本操作

    1.列表元素的增加 python提供三种方法增加元素,append,extend,insert. 区别:例  list3=[1,10,100,1000,10000] A.   list3.append ...

  2. python 列表元素替换以及删除

    >>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> letters ['a', 'b', 'c', 'd', ...

  3. 列表(list)之一定义 添加 删除 排序 反转 索引等其他操作

    1.定义: 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. # 列表list1=[&q ...

  4. mysql 修改 添加 删除 表字段

    添加表的字段    alter table 表名  add  字段名  字段的类型 例子:        alter table table1 add transactor varchar(10) n ...

  5. Python 列表元素排重uniq

    # -*- coding: gbk -*- def uniq(ls): lsCopy=[e for e in ls] for i in xrange(1,len(ls)): for j in xran ...

  6. 【转】ubuntu如何修改/添加/删除硬盘分区的挂载(点)?

    我(macroliu)的问题:安装ubuntu时,/home单独挂载在一个分区,此后我想调整分区大小,删除了/home对应的分区以及另外几个分区,导致开机时找不到挂载点.把硬盘空闲空间分好区后,想把1 ...

  7. 元素属性的添加删除(原生js)

    添加属性 odiv.setAttribute("title","hello div!"); odiv.setAttribute("class" ...

  8. 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] # ...

  9. Python 列表元素里面含有字典或者列表进行排序

    示例1:列表里面含有列表进行排序 s = [[1, 2], [100, 2], [33, 3], [25, 6]] s.sort(key=lambda k: k[0]) print(s) 结果: [[ ...

  10. python 列表元素统计出现的次数并输出字典

    import collections my_list = [,,,,,,,,,,,,] print("Original List : ",my_list) ctr = collec ...

随机推荐

  1. 人工智能-基于百度baidu-ai和图灵机器人实现学说话机器人

    本文引用了2个js文件,这里提供下CDN资源,! <script type="application/javascript" src="https://cdn.bo ...

  2. [转载]在服务器端判断request来自Ajax请求(异步)还是传统请求(同步),x-requested-with XMLHttpRequest

    在服务器端判断request来自Ajax请求(异步)还是传统请求(同步) 在服务器端判断request来自Ajax请求(异步)还是传统请求(同步):  两种请求在请求的Header不同,Ajax 异步 ...

  3. requirejs源码分析: config中shim

    shim处理的源码: //Merge shim                 if (cfg.shim) {                     eachProp(cfg.shim, funct ...

  4. windows安装mysql教程2017最新

    1.首先在mysql官网下载最新版mysql, 附上链接点击打开链接,根据你的系统型号选择对应的包下载,大约300多兆,版本号为5.7.19 下载完之后,解压缩,是一个标准的mysql文件 2.第二步 ...

  5. OC导入框架方式#import、@import的区别

    #import负责导入程序所需的文件的信息导入到程序中,随着程序所需的文件越来越多,程序就要导入更多的文件,这就带来了越来越长的编译时间,而且有大量重复的.为了解决这个问题可以采用以下办法解决,创建. ...

  6. windows下载Mysql-python

    Mysql-python第三方模块官方不支持windows系统,而国外大学提供了非官方 的支持windows系统的模块,可前往 https://www.lfd.uci.edu/~gohlke/pyth ...

  7. HttpServlet---getLastModified与缓存

    在HttpServlet中重写service方法的代码如下: protected void service(HttpServletRequest req, HttpServletResponse re ...

  8. 0530JavaScript基础2

    常用内置对象 所谓内置对象就是ECMAScript提供出来的一些对象,我们知道对象都是有相应的属性和方法 数组Array(部分相当于列表) 1.数组的创建方式 var colors = ['red', ...

  9. vue项目的webpack设置请求模拟数据的接口方法

    最近在跟着视频写饿了吗vue项目,其中模拟数据由于webpack版本变化,跟视频中不一致,下方博客有解决方案,其实视频里面的还能看懂,现在webpack的服务都在插件包里了,好难找. 请参考:http ...

  10. 机器学习相关知识整理系列之二:Bagging及随机森林

    1. Bagging的策略 从样本集中重采样(有放回)选出\(n\)个样本,定义子样本集为\(D\): 基于子样本集\(D\),所有属性上建立分类器,(ID3,C4.5,CART,SVM等): 重复以 ...