上期回顾:列表(一)


列表高级操作

遍历列表

正向:for 变量名 in 列表名: 
                   变量名就是元素

反向:for 索引名 in range(len(列表名)-1,-1,-1):
                   列表名[索引名] 就是元素

一般是获取反向的下标进行逆向。

【一般不通过切片完成,效率偏低,切片要重新创建一个列表】

list1=["苹果", "香蕉", "西瓜", "草莓", "哈密瓜", "蓝莓"]
for i in range(len(list1)-1):print(list1[i])# 苹果
# 香蕉
# 西瓜
# 草莓
# 哈密瓜
# 蓝莓for i in list1:print(i)# 苹果
# 香蕉
# 西瓜
# 草莓
# 哈密瓜
# 蓝莓for j in range(len(list1)-1,-1,-1):print(list1[j])# 蓝莓
# 哈密瓜
# 草莓
# 西瓜
# 香蕉
# 苹果

列表生成式

使用简易方法,将可迭代对象转换为列表。

变量 = [表达式 for 变量 in 可迭代对象]
变量 = [表达式 for 变量 in 可迭代对象 if 条件]

【如果if真值表达式的布尔值为False,则可迭代对象生成的数据将被丢弃。】


li=[i for i in range(10)]
print(li)
li1=[i for i in range(10) if i%2==0]
print(li1)
li2=[f"_犬少-{i}号" for i in range(10) if i%2==0]
print(li2)# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# [0, 2, 4, 6, 8]
# ['_犬少-0号', '_犬少-2号', '_犬少-4号', '_犬少-6号', '_犬少-8号']

列表推导式嵌套

变量 = [表达式 for 变量1 in 可迭代对象1 for 变量2 in 可迭代对象2]

list1=["犬","少"]
list2=["加","油"]
result = [r + c for r in list1 for c in list2]
print(result)# ['犬加', '犬油', '少加', '少油']

深浅拷贝⭐

浅拷贝:复制过程中,只复制一层变量,不会复制深层变量绑定的对象的复制过程。

  • 列表.copy()                    【切片也是浅拷贝】

深拷贝:复制整个依赖的变量。

       import copy

  • 列表 = copy.deepcopy(列表1)
import copy
li1=[1,2,2,3,["犬少"]]
li2=li1.copy()
li2[4].append("加油")
print(li1)
print(li2)
li3=copy.deepcopy(li1)
li3[4].append("冲鸭")
print(li1)
print(li3)# [1, 2, 2, 3, ['犬少', '加油']]
# [1, 2, 2, 3, ['犬少', '加油']]    # 浅拷贝 内层地址相同
# [1, 2, 2, 3, ['犬少', '加油']]
# [1, 2, 2, 3, ['犬少', '加油', '冲鸭']]    # 深拷贝 内层地址不同

扩展:

is 和 == 的区别

  • 如果 is 判断相同,== 一定相同
  • 如果 == 判断相同,is 不一定相同
  • == 比较的是值,is 比较的是内存地址

【小数据池:为了提高效率,在分配内存空间地址的时候,采用相同的内存地址】
【int:-5~256,输入的小于-5时,为false ;输入的大于256时,为true  (pycharm的缺陷)】
【字符串:""*20,大于20时,为false】


列表结束,不是很难,但很常用,小白还是要多多练习。

【发现有误及时联系】【喜欢记得点赞收藏❤】【欢迎评论补充】

_犬少加油!日更冲鸭!

上期:列表(一)

python基础 日常总结——列表(二)相关推荐

  1. python基础 日常总结——字典 (二)

    上期回顾:字典(一) 批量创建 (数据量大时使用) dict.fromkeys(list,value)     (高级用法)(值相同) li=[i for i in range(10)] dict1= ...

  2. Python基础数据之列表知识(二)

    Python基础数据之列表知识(二) 一.列表的特点 二.列表的排序 三.列表的嵌套 1.嵌套的基本使用 2.嵌套的示例 四.列表的循环删除 五.列表相关知识链接 一.列表的特点 1.有序 2.独立 ...

  3. python基础数据类型之列表,元组(基础二)

    第四章 python基础数据类型之列表,元组(基础二) python常用数据类型之组合数据类型:列表,元组. 4.1 列表 list 列表介绍 列表是python的基础数据类型之⼀ ,其他编程语⾔言也 ...

  4. Python基础数据之列表

    Python基础数据之列表 一.列表介绍 1.简介 2.列表的特性 二.列表初识 三.for循环中使用 四.列表长度表示 五.向列表中添加内容 1.向列表中追加内容 2.向列表中插入内容 3.批量添加 ...

  5. python 基础系列(十二) — python正则

    python 基础系列(十二) - python正则 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独 ...

  6. Python基础学习之列表操作

    Python基础学习之列表操作 文章目录 Python基础学习之列表操作 1. 列表的增,删,改,查 1.1 列表的增加,常用的方法有:append, extent, incert 1.2 列表的删除 ...

  7. Python基础语法【列表】

    Python基础语法[列表] 一.认识列表 1.什么是列表(list) 1)列表是python提供的容器型数据类型:将[]作为容器的标志,里面多个元素用逗号隔开:[数据1,数据2,-] [数据1,数据 ...

  8. 萌新向Python数据分析及数据挖掘 第一章 Python基础 第三节 列表简介 第四节 操作列表...

    第一章 Python基础 第三节 列表简介 列表是是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中的元素包括在方括号([])中,每个元素之间用逗号分割.列表是可变的数据类型, ...

  9. Python基础教程:列表(list)切片详细操作

    1.正向范围取值 关键点 首位下标是 0 第一个数字是起始下标,第二个数字是结束下标(但最终结果不包含它) 例一: # 正向范围取值 - 字符串 strs ="https://www.bai ...

最新文章

  1. gVim 取消自动备份(Windows/Linux)
  2. .NET平台开源项目速览(8)Expression Evaluator表达式计算组件使用
  3. distribution cleanup job2
  4. 数据仓库之电商数仓-- 2、业务数据采集平台
  5. [转]将微信和支付宝支付的个二维码合二为一
  6. 李迟2021年11月知识总结
  7. redis常用命令getex_Redis常用命令
  8. 曙光服务器怎么进入bios_曙光服务器怎么进入bios
  9. 二维联合分布(X,Y)求(U,V)
  10. 推荐一款2.5v 基准 电压源 芯片
  11. 代理服务器不等于路由器【芝麻代理】
  12. 【聚沙成塔】Linux环境下NodeJs升级
  13. 计算机ip地址在哪找,如何查ip地址,电脑ip地址在哪看
  14. qs计算机专业排名2017,2017qs世界大学学科专业排名top10完整版
  15. java检测自身签名_使用签名检测PDF更改
  16. 关于Vcc和Vdd的区别
  17. 向windows服务器传输大文件时提示未知错误解决方法
  18. memcpy 函数详解
  19. Ping总是丢包的原因,故障排除思路,解决方法
  20. 【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(九)

热门文章

  1. 【C++】C++11 新特性
  2. Elasticsearch 实现类似SQL语句中like %关键字% 的单纯模糊查询(不进行分词)
  3. Access安全吗?Access安全性之QA详解
  4. 牛客网---软件开发专项练习 刷题笔记
  5. Python-懒人必备-语音小助手
  6. Learning C++ No.14【STL No.4】
  7. 生硬的论文,非得写什么架构设计
  8. 解决移动端上用overflow-y:scorll样式生硬的问题
  9. 那些好看的渐变色linear-gradient(拿走不谢)
  10. PHP审计-RIPS