python列表使用技巧与方法_Python列表的相关操作与方法
Python列表的相关操作与方法
1.列表
why:int、bool、str存在缺陷
str:存储少量的数据;所有的操作获取的内容都是 str类型,存储的数据类型单一。
what:
列表可以承载任意数据类型,存储大量的数据。
Python常用的容器型数据类型。list 列表,其它语言:Java:数组
列表是有序的,可索引,切片(步长)。 (
与字符串稍有一点区别(取出来的元素数据类型不同))
索引、切片(一切片 就是一个小列表)、步长
li = [100,'taibai',True,[1,2,3]]
#索引
# print(li[0] , type(li[0]))
# print(li[1],type(li[1]))
#切片 (顾头不顾腚)
#print(li[:2])
相关练习题:
li = [1, 3, 2, "a", 4, "b", 5,"c"]
通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
2. 列表的常用操作与方法
1. 列表的创建
方式一:
l1 = [1,2,'abc']
方式二:
l1 = list()
l1 = list('feajoijae')
方式三:列表推导式:
根据现有元素,和已经确定的推导规则,可以依次推出新的列表的每一项。
lis1 = [1,2,3,4,5,6]
lis2 = [x**x for x in lis1]
print(lis2) #[1, 4, 27, 256, 3125, 46656]
lis3 = [[x, x*x , x**x] for x in lis1]
lis4 = [(x, x*x , x**x) for x in lis1]
lis5 = [{x, x*x , x**x} for x in lis1]
print(lis3) #[[1, 1, 1], [2, 4, 4], [3, 9, 27], [4, 16, 256], [5, 25, 3125], [6, 36, 46656]]
print(lis4) #[(1, 1, 1), (2, 4, 4), (3, 9, 27), (4, 16, 256), (5, 25, 3125), (6, 36, 46656)]
print(lis5) #[{1}, {2, 4}, {27, 9, 3}, {16, 256, 4}, {25, 3125, 5}, {46656, 36, 6}]
2. 增
append, 列表最后追加一个元素
l1 = ['太白','女神','吴老师','xiao','阎龙']
l1.append('xx')
print(l1)
#注意:
print(l1.append('xx')) ##None ##打印错了,只是一种追加的方式,没有返回值
insert,在列表任意位置插入
l1 = ['太白','女神','吴老师','xiao','阎龙']
l1.insert(2,'xx')
print(l1)
extend,列表最后迭代追加一组数据(组成对象的最小元素)
l1 = ['太白','女神','吴老师','xiao','阎龙']
l1.extend('abcd')
l1.extend(['alex']) #组成对象的最小元素
2. 删
pop 按照索引位置删除,返回删除的元素
(只有pop操作返回,其它都不返回)
pop() 默认删除最后一个
l1 = ['太白','女神','吴老师','xiao','阎龙']
l1.pop(-2)
remove 删除指定元素
如果有重名元素呢?默认删除从左数第一个元素
l1.remove('xiao')
clear() 清空 元素没了,为空列表
del
按照索引删除
del l1[-1]
按照切片删除
del l1[::2]
3. 改
按索引改
l[0] = 'nm'
按切片改
l = ['太白', 'alex', 'WuSir', '女神']
l[1:3] = 'abcdefg'
print(l) # ['太白', 'a', 'b', 'c', 'd', 'e', 'f', 'g', '女神']
按切片(步长)(必须一一对应)
l = ['太白', 'alex', 'WuSir', '女神']
l[::2] = '对应'
print(l) # ['对', 'alex', '应', '女神']
4. 查
索引、切片
循环
其它操作:
sort 排序
reverse 列表中的元素 反向存放
列表可以相加也可以与整数相乘
5. 列表的嵌套
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
将列表中的字符串"1"变成数字101(用两种方式)。
#方法1:
del lis[3][2][1][2]
lis[3][2][1].insert(2,101)
#方法2: ##不知道索引的前提下
def fun(lis):
for i in lis:
if type(i) is list:
# if isinstance(i , list):
fun(i)
elif i == '1':
a = lis.index('1')
del lis[a]
lis.insert(a,101)
fun(lis)
print(lis)
注意:有些函数是针对字符串的 如replace ,有些是针对列表的,注意使用时候区分
python列表使用技巧与方法_Python列表的相关操作与方法相关推荐
- Python列表(list)的相关操作及方法
Python列表(list)的相关操作及方法 一.list列表 1.概述: 本质:list列表的本质是一种有序的集合 2.创建列表 语法: 列表名 = [元素1,元素2,元素3-] 说明:列表中的选项 ...
- python ctypes调用C++ dll,arry(数组)的相关操作
@[TOC](python ctypes调用C++ dll,arry(数组)的相关操作) 前言 本人新手python一枚,最近工作中需要用到python 调用C++库,一个数组调用,花费了太多时间,遂 ...
- Spring中RedisTemplate方法中,redis相关操作笔记。[redis生成指定长度自增批次号,删除、设置过期时间等]
Spring中RedisTemplate方法中,redis相关操作笔记. redis获取自增批次号 // opsForValue()生成long UUID = redisTemplate.opsFor ...
- .NET Core(C#) 反射类的属性(PropertyInfo)、字段(FieldInfo)和方法(MethodInfo)相关操作扩展方法工具类
本文主要介绍.NET Core(C#)中,使用反射进行类(class)的属性(PropertyInfo).字段(FieldInfo)和方法(MethodInfo)相关操作,通过扩展方法编写的工具类,以 ...
- python的列表方法_Python列表的常用方法
一.列表是什么? 列表是由一序列特定顺序排列的元素组成的,可以把字符串.数字.字典等都可以加入列表中. 列表中元素之间没有任何关系,列表也是自带下标的,默认从0开始. 列表是最常用的Python数据类 ...
- python列表比较方法_python列表常用方法
list是一个类,用中括号括上,逗号分隔,元素可以是数字,字符,字符串,也可以是嵌套列表,布尔类型. 1.通过索引取值 li=[1,12,9,'age',['wangtianning',[19,'10 ...
- python删除列表元素的所有方法_python 列表删除所有指定元素的方法
python 列表删除所有指定元素的方法 如下所示: a = [1,1,1,2,3,45,1,2,1] a.remove(1) result: [1,1,2,3,45,1,2,1] while 1 i ...
- python元组和列表都支持的方法_python列表方法和元组
Python列表方法 1.append()在列表末尾追加新对象 >>> lst=[1,2,3] >>> lst [1, 2, 3] >>> lst ...
- python字符串的方法和列表的方法_Python学习笔记字符串操作之join()和split()方法,列表转字符串,字符串转列表...
随笔记录方便自己和同路人查阅. #------------------------------------------------我是可耻的分割线--------------------------- ...
最新文章
- CentOS7系统启动、排错、修复、破解root口令
- python functools.reduce_Python-functools模块(reduce、partial、lru_cache)
- 【实用】用QuickViewer收集数据
- 了解DSP的体系结构
- 02.操作系统概述.md
- activex for chrome扩展程序 下载”_Chrome扩展程序一键生成网页骨架屏
- 张一鸣退一步,换字节跳动的“海阔天空”
- 1054: 猴子吃桃
- 【DTOJ】2701:问候
- 类的加载器ClassLoader及其示例
- 路由变化时使用axios取消所有请求
- 企业研发人员配备比例_高新技术企业对研发技术人员占企业总职工人数的比例为多少?...
- 【MongoDB】使用$lookup做多表关联处理
- CSS画心形的三种方法,超级简单
- vue如何对接网易云信IM即时聊天
- python 下载qq群文件_python作业/练习/实战:下载QQ群所有人的头像
- CentOS修改Tomcat端口号
- 百度云直播的操作流程
- Linux从入门到秃头
- 线程池有哪些状态?状态是如何转换的?
热门文章
- 深度学习如何验证自己的想法
- Spring Boot2.0 JPA 实现分页(简单查询分页、复杂查询分页)
- 如何从官方渠道下载Spring MVC所需jar包
- win和linux创建共享文件夹,在Windows和Linux下(Debian、Ubuntu)创建共享文件夹
- spring-xml实现aop-通知的种类
- Lambda表达式详解【一】
- JAVA——赫夫曼编码-译码器(Huffman Coding)
- Problem for Nazar
- 微型计算机工业控制技术,基于ARM的微机原理与接口技术(STM32嵌入式系统架构编程与应用嵌入式与工业控制技术高等学校电子信息类专业系列教材)...
- matlab氢原子杂化轨道,网络版原子和分子结构可视化程序的开发