Python之List列表的增删改查
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型,灵活度较高。
python的list是可变数据类型,它支持添加 append、插入 insert、修改、删除del等操作。
==============================================================================================================
一、列表的创建
1. 创建空列表:
list=[]
listName=list()
2. 可以把python中的list列表理解为任意对像的序列,只要把需要的参数值放入到中括号[ ]里面就可以了,就像下面这样操作:
names = ['ada','amy','ella','sandy']
列表可以包含不同类型对像,也支持嵌套(多维数组):
例:a = ['a',567,['adc',4,[12,'a']],(1,2)]
这个列表中就包含了字符串、整型、元组这些元素,同时还嵌套了一个列表。
二、添加新元素
1. list.append() 在list 末尾增加一个元素
例:name.append('4ds')
2. list.insert(100,'4ds') 在指定位置添加元素,如果指定的下标不存在,那么就是在末尾添加
3. list1.extend(list2) 合并两个list list2中仍有元素
例:list1=['a','b','c',0]
list2=[1,2,3,'d',6]
list1.extend(list2)
print(list1) ====>['a','b','c',0,1,2,3,'d',6]
三、修改更新
listName[7]='haha' #更新第8个元素的值为:haha
print('updated',listName) 四、查看列表长度
print('列表的长度是:',len(list1)) #返回列表中元素总个数 ===》9
五、查看列表中的值
1. 列表是有序的,可以通过python list下标来修改特定位置的值。
name = ['0test1','1yrd','2sdfh','3sdf']
print(name[2]) #查找下标为2的元素 ===》2sdfh
print(name[-1]) #索引取负数时,从最后一个元素开始查找 ===》3sdf
2. 遍历列表 (详情参见list循环、切片) 例1:
mylist = [1,2,3,4]
for i in mylist:
print(i)
等同于:
例2:
mylist = [1,2,3,4]
for i in range(len(mylist)):
print(mylist[i]) 每个元素都有一个地址
3. 查看某个元素在列表中出现的次数(个数)
print(list.count(‘xx’)) 查看某个元素在这个列表里的个数,如果该元素不存在,那么返回0
4. 查看某个元素的下标、索引值
print(list.index(‘xx’))找到这个元素的下标(索引),如果有多个,返回第一个,如果找一个不存在的元素会报错
六、删除列表中的元素及列表删除
1. list.pop() 删除最后一个元素,有返回值,返回被删除的元素
2. list.pop(n)指定下标,删除指定的元素,如果删除一个不存在的元素会报错
3. list.remove(xx) 删除list 里面的一个元素,有多个相同的元素,删除第一个 ;无返回值,显示None
4. del list[n] 删除指定下标对应的元素 ,n为负数时,从最后一个元素开始找起
5. del list 删除整个列表, list删除后无法访问
6. list.clear() 清空列表,返回一个空列表
7. 不要循环删除list元素,会导致结果错乱,如果要删除,先复制出来一个相同list
li = [1,1,2,3,4,5,6,7,7,8]
li2 = [1,1,2,3,4,5,6,7,7,8] #长度不变
for i in li2:
if i%2!=0:
li.remove(i)
print(li)
七、反转和排序
1. list.reverse() 将列表反转
list1=['abc','bcd','eds']
print(list1)
list1.reverse() #这种方式只能分开2步,不能print(list1.reverse())
print(list1) #输出
['abc', 'bcd', 'eds']
['eds', 'bcd', 'abc']
2. list.sort()排序,默认升序且只能对同数据类型的列表进行排序,否则报错
如:
mylist = ['b','wwds','a','912d','5wer']
mylist.sort()
print(mylist) ===》['5wer', '912d', 'a', 'b', 'wwds']
3. list.sort(reverse=True) 降序排列 ==>['wwds', 'b', 'a', '912d', '5wer']
注:list 中有字符串,数字时不能排序,排序针对同类型
八、布尔值,返回true或者false
print(1<2) ==》True 九、列表操作的函数
1、len(list):列表元素个数
2、max(list):返回列表元素最大值
3、min(list):返回列表元素最小值
4、list(seq):将元组转换为列表
5、enumerate 用法(打印元素对应的下标)
同时取下标,元素
结果如下:
十、列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
如下所示:
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
Python之List列表的增删改查的更多相关文章
- python 基础知识 列表的 增删改查 以及迭代取值
""" python 列表 通用方法 元组.数组.字典 取值方法 [] 列表中可以存储不同类型的数据 函数 封装了独立的功能可以直接调用 函数名(参数) 方法 和函数类似 ...
- Python学习笔记-列表的增删改查
- Python列表的增删改查排嵌套特殊输出格式
Python列表的增删改查排嵌套特殊输出格式 一.列表的样子: a = ['q' , 'w' , 'e ', 'r','t'] a为列表名,[ ]为列表内容,' '为列表内的元素,'q'为a[0] 二 ...
- python列表的增删改查和嵌套
列表 python常用的数据类型 可承载任意的数据类型 列表是有序的,可索引.切片(步长) 列表的创建 list1 = [1, 2, 'whll'] #1. list2 = list() #2. #3 ...
- Python(二)列表的增删改查
一,列表的增删改查 列表中增加元素: 1,从列表的末尾增加一个元素:append("") 2,从列表中插入一个元素:insert(下标位置,插入的元素) 合并列表: 1,name. ...
- 列表的初识,列表的索引切片,列表的增删改查,列表的嵌套,元组的初识,range
1 内容总览 列表的初识 列表的索引切片 列表的增删改查 列表的嵌套 元组的初识(了解) 元组的简单应用(了解) range 2 具体内容 列表的初识 why: str: 存储少量的数据.切片出来全都 ...
- python学习之-成员信息增删改查
python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...
- day5 列表的增删改查
1,列表的增删改查,其他操作.2,元祖.3,列表的嵌套操作.4,开一点dict. 昨日内容回顾: 字符串的方法:1,find通过元素找索引,可切片,找不到返回-12,index,找不到报错.3,spl ...
- python manage.py shell 的增删改查
python manage.py shell 的增删改查 guoguo-MacBook-Pro:myblog guoguo$ python manage.py shell Python 3.5.1 ( ...
随机推荐
- 洛谷P3168 任务查询系统
题意:有n个任务,第i个的存在时间是li~ri,有个权值.求t时刻第k大的权值. 这毒瘤...本来是前缀和 -> 主席树,我是树套树...然后光荣TLE. 其实很裸.一开始我写的是每个位置维护一 ...
- 使用vcftools或者gcta计算群体间固定指数(Fixation index,FST)
下列所用到的数据均为千人基因组数据库 1.通过vcftools计算FST 命令行如下: ./vcftools --vcf input_data.vcf --weir-fst-pop populatio ...
- pytest 5. fixture之yield实现teardown
前言: 1.前面讲的是在用例前加前置条件,相当于setup,既然有setup那就有teardown,fixture里面的teardown用yield来唤醒teardown的执行 看以下的代码: #!/ ...
- unittest的使用三——断言
常用的断言有3种: 判断两个值是不是都相等,参数分别是第一个值,第二个值,msg代表不想等的话,描述的信息 def assertEqual(self, first, second, msg=None) ...
- Struts2上传文件出错
出现错误: Error setting expression 'myFile' with value '[Ljava.lang.String;@47fb02e8' 解决方法: 这是由于没有设置 < ...
- 【内核】Linux内核Initrd机制解析,内核更新步骤,grub配置说明
什么是Initrd initrd的英文含义是 boot loader initialized RAM disk,就是由boot loader初始化的内存盘.在 linux内核启动前, boot loa ...
- 递归思维判断数组a[N]是否为一个递增数组
递归的方法:记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束: bool fun( int a[], int n ) { ) { return true; } ) { ] ...
- (转载) python3: beautifulsoup的使用
转载: https://www.cnblogs.com/chimeiwangliang/p/8649003.htmlfrom bs4 import BeautifulSoup import reque ...
- POJ3662 SPFA//二分 + 双端队列最短路
https://cn.vjudge.net/problem/12427/origin 题意:求1到N第K + 1大条边权最小的路径 首先想到dp递推,dp[x][y]表示到x这个点经过y条免费边的最小 ...
- Java Web之Tomcat
Tomcat的下载安装配置什么的,百度一大把.现在介绍一下Tomcat的文件夹目录结构. 浏览器访问127.0.0.1:8080 出现Tomcat页面即表示安装成功. 这个就是Tomcat的目录了 b ...