基础数据类型 : 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. 连接H3C交换机的Console口连不上

    一.故障:使用Console线连接交换机的Console口连不上. 处理步骤: 1.先把Console线连接好,一端连接交换机的Console口,另一端连接电脑的USB口. 2.安装Console线驱 ...

  2. 学号 20175201张驰 《Java程序设计》第4周学习总结

    学号 20175201张驰 <Java程序设计>第4周学习总结 教材学习内容总结 第5章 继承:避免多个类间重复定义共同行为,用我们已经有的类,去创建新的类 任何子类都可以继承它的父类的成 ...

  3. js写一个chrome 插件

    访问网站的时候,最烦的就是一些弹窗和广告.于是,就想着能不能在访问特定网站的时候,执行一段js脚本,去除页面的广告.于是乎,好像 chrome 插件可以实现. 这里,以 百度 的网站为例 新建 sim ...

  4. mac 安装robot framework报错:No matching distribution found for Pywin32

    运行  pip install robotframework-ride  ,出现以下错误 解决办法:修改Python的运行方式,需要32位的python运行 defaults write com.ap ...

  5. U盘制作系统盘的方法:

    1, 使用 u 盘制作 ubuntu16.04 的方法, 安装软件后,直接使用软件将 U盘制作成系统盘就好了 [1] 下载安装工具: UltraISO  官网:  http://www.ezbsyst ...

  6. js优化 前端小白适用

    注意啦,前端初学者适合看的js优化,当你看我的优化认为太low,那么恭喜,你已经脱离初学者了. 首先这边我觉得分享的还是以js为主,前端性能优化,我认为最重要的还是js,因为js是一门解释型的语言,相 ...

  7. 1231: ykc买零食

    1231: ykc买零食时间限制: 1 Sec  内存限制: 128 MB 题目描述 ykc的班级准备举行班级聚会,而身为生活委员的ykc要为此准备好零食,这天,ykc来到了学校的新起点超市,在转了3 ...

  8. live Templates 活动模板. 配置完之后,就可以快速编码-代码块

    配置:live Templates 活动模板. 配置完之后,就可以快速编码-代码块. 输入startflask敲回车:   就会生成代码:   怎么做到的呢? 如下:   注意第七步: 原本不是cha ...

  9. python模块与路径

    # 切记不能与方法函数同名,否则会报错!!! # python的模块与包 分为三种: #1.标准库 #2.第三方模块 #3.自定义模块 #python 模块的引入原理: # 加入你创建了一个模块,在i ...

  10. 【论文速读】Pan He_ICCV2017_Single Shot Text Detector With Regional Attention

    Pan He_ICCV2017_Single Shot Text Detector With Regional Attention 作者和代码 caffe代码 关键词 文字检测.多方向.SSD.$$x ...