基础数据类型 : 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. 在windows上搭建git server Gitblit

    在Windows上搭建Git Server   第1步:下载Java并安装Java.我这里下载的是jdk1.7.0_79 第2步:配置Java环境变量 右键” 计算机” => ”属性” => ...

  2. readlink 获取进程的绝对路径

    readlink可以获取exe所在的路径(直接和进程关联);无法获得so的路径,so路径可以用dladdr,参考另一篇文章linux系统中有个符号链接:/proc/self/exe 它代表当前程序,所 ...

  3. 连接oracle数据库

    一.连接oracle数据库 一.windows环境 oracle windows客户端下载地址:http://www.oracle.com/technetwork/topics/winx64soft- ...

  4. 原生js 基于canvas写一个简单的前端 截图工具

    先看效果 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  5. mysql----------原生的sql里面如何根据case then排序

    1.按照三个字段都符合条件来排序 ORDER BY (    CASE    WHEN is_top = 1    AND top_end_time>UNIX_TIMESTAMP()    AN ...

  6. 关于IE浏览器 ajax 请求返回数据不对的问题

    在使用ajax向后台发送请求的时候,在使用ie 进行调试的时候发现根据条件进行查询时,返回的数据与没有根据条件进行查询时数据相同,也就是条件没有发生作用. 经过同事的帮助发现ajax初始化设置时没有c ...

  7. zookeeper注册与发现

    pom.xml添加如下引用: <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId ...

  8. (转)MERGE语法详解

    merge语法是根据源表对目标表进行匹配查询,匹配成功时更新,不成功时插入. 其基本语法规则是 merge into 目标表 a using 源表 b on(a.条件字段1=b.条件字段1 and a ...

  9. The type com.google.protobuf.GeneratedMessageV3$Builder cannot be resolved. It is indirectly referenced from required .classfiles

    在做项目的时候,导入了几个类,导入了相关的jar. 结果在package处报了The type com.google.protobuf.GeneratedMessageV3$Builder canno ...

  10. WCF基础二

    1:地址 . WCf 的每一个服务都有一个唯一地址,地址包括传输协议和服务位置. HTTP:采用http\https协议进行传输,默认端口为80. TCP:采用ne.tcp协议进行传输,默认端口为80 ...