本文参考自《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. 洛谷 P2261 [CQOI2007]余数求和

    洛谷 一看就知道是一个数学题.嘿嘿- 讲讲各种分的做法吧. 30分做法:不知道,这大概是这题的难点吧! 60分做法: 一是直接暴力,看下代码吧- #include <bits/stdc++.h& ...

  2. jQuery 属性操作

    1 css操作 2 文本操作 3 属性操作 4 位置 5 尺寸 1.css操作 addClass();// 添加指定的CSS类名. removeClass();// 移除指定的CSS类名. hasCl ...

  3. 启动hadoop集群

    1.配置core-site.xml(每个节点上都要配置) 路径: /usr/local/hadoop-2.7.3/etc/hadoop/core-site.xml 配置项1: name: fs.def ...

  4. [不常用] - CSRF(跨站点请求伪造)

    CSRF,Cross Site Request Forgery,即跨站点请求伪造.   这种攻击是指,在用户正常登录系统以后,攻击者诱使用户访问一些非法链接,以执行一些非法操作. 比如:如果删除用户操 ...

  5. 42和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 设置 ...

  6. 区块链入门级别认知(blockchain)

    区块链入门级别认知(blockchain) 前言:今天参加了迅雷关于区块链的大会,学习和感受总结一下 之前的认知在:几个混迹互联网圈关于区块链 耳熟能详的 热词 “比特币” “区块链” “挖矿” ,知 ...

  7. 初学JQuery相关知识点

    [简单的JQuery]注册事件的函数. $(document).ready(function(){}) [JQuery提供的函数]$.map(array,fn) 对数组array中每个元素调用fn函数 ...

  8. Web前端开发的基本要求和认识

    Web前端开发技术包括三个要素:HTML.CSS和JavaScript,但随着RIA的流行和普及,Flash/Flex.Silverlight.XML和服务器端语言也是前端开发工程师应该掌握的.Web ...

  9. layer关闭弹窗

    一.关闭弹出窗 这是layer官网给出的帮助手册,讲解的比较详细 分成两种情况: 1.弹出层不是新的页面的时候,直接获得该弹窗的索引,然后执行close方法 layer.close(); 2.弹出窗是 ...

  10. 【Head First Servlets and JSP】笔记3:Servlet的生命周期

    1.servlet的存在就是要为客户服务.servlet的任务就是得到一个用户的请求,再发回一些响应. 请求可能很复杂,也可能很简单,例如,“为我的购物车结账”,这个请求携带了一些重要的数据,你必须知 ...