基础数据类型 : list

list主要操作:索引、切片、查询、修改、增加、删除、扩展、统计、排序、获取下标、拷贝……

1.1  索引

 由图:

  • list正向下标从0开始
  • list反向下标从-1开始
    • 获取下标对应的单个元素:list[下标]

1.2  查询

  • 通过索引查询元素:切片
    • list [a:b]   获取列表list中下标a到下标b之间的元素
    • list [a:]     获取列表list中下标a开始的所有元素
    • list [b:]     获取列表list中从下标0开始到下标b之前的所有元素
    • list [:]       获取列表list中所有的元素
    • list [a:b:c]获取列表list中从下标a到下标b,从下标a开始递增c的所有元素
  • 通过元素查询索引:index()
1 list = [ 'a', 'b', 'a', 'd', 'e', 'a']
2 print(list.index("a")) # 查询第一个元素a对应的下标
3 print(list.index("a",3)) # 查询第从四个元素a对应的下标 运行结果:
0
5
  • 循环查询 : for  i  in   list:
1 list = [ 'a', 'b', 'c' ]
2 for i in list:
3 print(i) 运行结果:
a
b
c

1.3  修改

 ### 修改列表中的元素:list[下标] = 新元素
1 list = ["海绵宝宝","派大星","章鱼哥","蟹老板"] # 根据索引改元素
2 list[0] = "小猪佩奇" # 修改单个元素
3 print(list)

# 根据切片改元素
4 list[0:2] = "小猪佩奇","乔治" # 修改多个元素
5 print(list) 6 list[0:2] = "小猪佩奇" # 将元素进行拆分,再修改,与extend类似
7 print(list) 运行结果: ['喜洋洋', '派大星', '章鱼哥', '蟹老板'] ['小猪佩奇', '乔治', '章鱼哥', '蟹老板'] ['小', '猪', '佩', '琪', '章鱼哥', '蟹老板']

1.4 增加

  • list.append("m")                追加:在列表的末尾添加元素m
  • list.insert(index,"m")         插入 : 在列表中下标未index的位置插入元素m
  • list.extend("m")               迭代插入:将添加的元素m进行拆分,并依次插入到列表末尾  (将一个列表追加到另一个列表后面,组成一个新的列表)         
 1 list = ["海绵宝宝","派大星","章鱼哥","蟹老板"]
2 # 在列表末尾追加元素“史丹利”
3 list.append("史丹利")
4 print(a,list)
5 # 在第二个位置插入元素“史丹利”
6 list.insert(2,"史丹利")
7 print(list)
8 # 将添加的元素"海超人"进行拆分,并依次追加插入
9 list.extend("海超人")
10 print(list)

1.5  删除

  • list.pop()           根据下标删除元素(有返回值)

    • 若未传入值,默认删除最后一个元素;
    • 若传入下标,删除下标对应的元素。
  • list.remove("m")     根据元素名删除元素(无返回值)
  • list.clear()         删除列表中所有的元素(返回空列表)
  • del list         删除列表
    • del list [x] 删除下标对应的元素
    • del list [a:b]
 1 list = ["海绵宝宝","派大星","章鱼哥","蟹老板"]
2 # 删除“蟹老板”,未传值,默认删除最后一个元素
3 list.pop()
4 print(list)
5 # 删除章鱼哥,删除下标2对应的元素
6 a = list.pop(2)
7 print(a,list)
8 # 删除章鱼哥
9 list.remove("章鱼哥")
10 print(list)
11 # 删除列表中所有的元素
12 list.clear()
13 print(list)
14 # 删除整个列表
15 del list
16 print(list)
17 # 删除“章鱼哥”
18 del list[2]
19 print(list)
20 # 删除“章鱼哥”和“蟹老板”
21 del list[2:4]
22 print(list) 运行结果: ['海绵宝宝', '派大星', '章鱼哥']
章鱼哥 ['海绵宝宝', '派大星', '蟹老板']
['海绵宝宝', '派大星', '蟹老板']
[]
<class 'list'>
['海绵宝宝', '派大星', '蟹老板']
['海绵宝宝', '派大星']

1.6 其他方法

###  统计  len(list) 、 list.count()

1 list = ["海绵宝宝","派大星","章鱼哥","蟹老板"]
2 ### 计算列表的长度
3 print(len(list))
4 ### 计算元素出现的次数
5 print(list.count("海绵宝宝")) 运行结果:
4
1
### 列表排序  sort() 、reverse()

 1 list_num = [3,8,2,0,34,66,11]
2 ## 从小到大排序
3 list_num.sort()
4 print(list_num)
5 ### 从大到小排序
6 list_num.sort(reverse=True)
7 print(list_num)
8 ### 倒序排列
9 list_num.reverse()
10 print(list_num) 运行结果:

 [0, 2, 3, 8, 11, 34, 66]
 [66, 34, 11, 8, 3, 2, 0]
 [0, 2, 3, 8, 11, 34, 66]

【python 3】 列表方法操作汇总的更多相关文章

  1. python字符串,列表常用操作

    24天养成一个好习惯,第五天! 一.字符串需要掌握的操作 1.取值(索引取值)需要注意的是只能取,不能改 msg = 'hello world' print(msg[4]) 2.切片(顾头不顾尾) m ...

  2. Python学习总结3:元组、列表的操作汇总

    参考博客:http://www.cnblogs.com/QG-whz/p/4782809.html 1. 是否可变 元组:用()或tuple函数定义,不可变(元素的值以及整个元组): 列表:用 [] ...

  3. 【python 3】 字符串方法操作汇总

    基础数据类型:str 1.1  字符串大小写转换 所有字母大写 : string.upper() 所有字母小写 : string. lower() 第一个单词的第一个字母大写,其他字母小写 :  st ...

  4. 【python 3】 集合方法操作汇总

    基本数据类型 : set 集合(set)特点 : 无序 不能重复(自动去重) 用 {} 或 set()函数 来表示集合 空集合 : set() 1 name = {"江户部柯南", ...

  5. 【python 3】 字典方法操作汇总

    基础数据类型:tuple 1.1  新增 dic["key"] = value                            字典中没有key就添加,有key就覆盖 dic ...

  6. python关于列表的操作

    列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类 ...

  7. 【Python】列表各种操作

    # -*- coding:utf-8 -*- #列表操作name_list = ['zhangsan','lisi','wangwu'] #append 在最后插入name_list.append(& ...

  8. python之列表常见操作

    list = [1,2,3,4,5,6,7,8,9,0,0,0,0,0] listSet = list.set(list)#将列表中的数据进行去重处理 此时listSet中的数据为[1,2,3,4,5 ...

  9. python list列表 方法总结

    深入链表(most on lists) The list data type has some more methods. Here are all of the methods of list ob ...

随机推荐

  1. 【托业】【怪兽】TEST03

    101. engage  [ɪnˈgeɪdʒ]  v.参与 102. toner [ˈtəʊnə(r)]n.碳粉匣 103. surveillance [sɜ:ˈveɪləns]n.监控 105. i ...

  2. zabbix源码安装实例

    环境 系统                 Centos7 zabbix版本      Zabbix 3.4.15 (revision 86739) zabbix源码安装 .tar.gz cd zab ...

  3. Redis Sentinel实现的机制与原理详解

    序言 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案.实际上这意味着你可以使用Sentinel模式创建一个可以不用人为干预而应对各种故障的Redis部署. 它的主要功能有以 ...

  4. JAVA时间Date工具类

    package com.common.util; import java.text.DateFormat; import java.text.ParseException; import java.t ...

  5. 2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析

    1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,sys ...

  6. chrome浏览器多开的方法

    Chrome浏览器在上网的过程中,会保存一些用户数据,如缓存.cookie.收藏的网页等信息. 这些信息的保存位置是可以设置的.方法也很简单: 桌面上复制一个Chrome的快捷方式,编辑属性,添加-- ...

  7. Qt QLineEdit 漂亮的搜索框 && 密码模式 && 格式化输入 && 提示文字 && 选择内容并移动 && 清除全部输入

    先上一个漂亮的搜索框效果图, 输入搜索文本效果, 点击搜索图标效果: //实现代码 void MainWindow::iniLineEdit() { ui->lineEdit->setPl ...

  8. jenkins+Gitlab+maven+tomcat实现自动集成、打包、部署

    一.前言 首先出于提高自己技术水平和琢磨能做点什么能提高工作效率,上线工作实在无聊.重复(手动编译.打包,传包,重启),于是就想到了jenkins,jenkins持续集成已经不是什么新鲜的话题,网上文 ...

  9. qt 画多边形(实现鼠标拖动节点)

    ---恢复内容开始--- 2018-01-06 这个小例子实现了移动鼠标,鼠标的坐标信息跟随鼠标移动,多边形的实现,鼠标点击可以拖动多边形点的位置,(其中有个问题?我在QMainWindow下,用mo ...

  10. conn.encoders[SafeBytes] = conn.encoders[bytes] KeyError: <class 'bytes'>

    问题描述:Django连接mysql数据库,修改了setting.py文件后,启动服务器报错 错误截图如下: 解决方法: 1.pip install pymsql 2.在setting.py同目录下的 ...