本文参考自《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. Java中volatile关键字实现原理

    原文地址http://www.cnblogs.com/xrq730/p/7048693.html,转载请注明出处,谢谢 前言 我们知道volatile关键字的作用是保证变量在多线程之间的可见性,它是j ...

  2. mac开发环境爬坑记(搭建php+nginx+mysql+redis+laravel+git+phpstorm)

    题外话:前几天,终于以原价一半的价格,将我那台15版mbp在bbs上卖了出去.之所以用了“终于”这个词儿,是我一直迟迟没有下定决心卖掉它,可眼瞅着再不卖掉,又要掉价,况且我的新电脑,也终于下来了. 话 ...

  3. python基础知识回顾[1]

    1.声明变量 # 声明一个变量name用来存储一个字符串'apollo' name = 'apollo' # 声明一个变量age用来存储一个数字20 age = 20 # 在控制台打印变量name中存 ...

  4. Python3.6全栈开发实例[006]

    6.检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者. dic = {"k1": "v1v1", " ...

  5. Python3.6全栈开发实例[013]

    13.用户输入的信息,如果出现了列表中的敏感词汇,请用*替代. li = ["苍老师","东京热","武藤兰","波多野结衣&qu ...

  6. Andrew Ng机器学习编程作业: Linear Regression

    编程作业有两个文件 1.machine-learning-live-scripts(此为脚本文件方便作业) 2.machine-learning-ex1(此为作业文件) 将这两个文件解压拖入matla ...

  7. 分层架构下的纯JDBC事务控制简单解决方案【转】

    http://blog.csdn.net/qjyong/article/details/5464835 对目前的JavaEE企业应用开发来说,基本都会采用分层的架构, 这样可以分散关注.松散耦合.逻辑 ...

  8. Dancing Link专题

    一些链接: http://www.cnblogs.com/-sunshine/p/3358922.html http://www.cnblogs.com/grenet/p/3145800.html 1 ...

  9. java eclipse 监视选择指定变量

    http://3y.uu456.com/bp_8tzmk3zobb7k6x46aj28_1.html 有时一个Java程序有许多变量,但你仅对其中一个或几个感兴趣,为了监视选择的变量和表达式,你可以将 ...

  10. iframe 跨域请求

    iframe.contentWindow 兼容各个浏览器,可取得子窗口的 window 对象. iframe.contentDocument Firefox 支持,> ie8 的ie支持.可取得 ...