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 ( ...
随机推荐
- 【CF375D】Tree and Queries
题目大意:给定一棵 N 个节点的有根树,1 号节点为根节点,每个节点有一个颜色.有 M 个询问,每次询问以 i 为根的子树中颜色大于等于 K 的有多少种. 题解:子树询问直接 dfs 序转化成序列问题 ...
- Day16--Python--初识面向对象
今日主要内容一. 面向对象思想 1. 面向过程. 重点在'过程'. 按照事物迭代发展流程. 优点: 简单,流水线式的操作 缺点: 可扩展性差.可维护性差. 2. 面向对象. 对象是属性和动作的集合体. ...
- re-download dependencies and 无法下载jar 的解决
Re-download dependencies and sync project (requires network) 其实就是修改gradle 的path 路径:
- SPEL表达式
https://www.cnblogs.com/best/p/5748105.html
- gdb调试线程
gdb thread apply all bt 如果你发现有那么几个栈停在 pthread_wait 或者类似调用上,大致就可以得出结论:就是它们几个儿女情长,耽误了整个进程. 注意gdb的版本要高于 ...
- WiFi热点(1):windows8建wifi虚拟热点
在windows8系统中,打开记事本,写入下面两行:@netsh wlan set hostednetwork mode=allow ssid=wuyazhe key=88888888@netsh w ...
- M1-Flask-Day3
内容概要: websocket mysql连接池 sqlalchemy flask-sqlalchemy 练习: 1. 谈谈Flask和Django的认识? Django大而全的框架,把Web相关设计 ...
- maven的安装与基本使用
一.什么是maven,有什么用? Maven是一个项目构建和管理的工具,其主要服务于基于java平台的项目构建.依赖管理和项目信息管理.它包含了一个项目对象模型 (Project Object Mod ...
- 8种提升ASP.NET Web API性能的方法
英文原文:8 ways to improve ASP.NET Web API performance ASP.NET Web API 是非常棒的技术.编写 Web API 十分容易,以致于很多开发者没 ...
- Linux 内核里的数据结构:位图(bitmap)
注: 本文由 LCTT 原创翻译,Linux中国 荣誉推出 Linux 内核中的位数组和位操作 除了不同的基于链式和树的数据结构以外,Linux 内核也为位数组(或称为位图(bitmap))提供了 A ...