13、列表

一.列表

列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.

比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用’ , '隔开而且可以存放各种数据类型:

列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,]]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,

32位python的限制是 536870912 个元素,

64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

lst = [1,2,3,"alex",[1,2,3]]

我们定义了一个列表,我们现在来看看内存中是怎样存储的

lst我们就可以想象成一个书包,书包中存放了衣服,电脑,书,钱包,钱包中放的是身份证,公交卡,家门钥匙

1.1 列表的索引

列表和字符串一样也拥有索引:

lst = ['刘德华','周润发','周杰伦','向华强']
print(lst[0])  # 列表中第一个元素
print(lst[1])  # 列表中第二个元素
print(lst[2])  # 列表中第三个元素

注意:列表是可以进行修改的,这里和字符串不一样

lst[3] = '王健林'
print(lst)

字符串修改

s = '王思聪'
s[0] = '李'
print(s)
结果:
Traceback (most recent call last):File "D:/python_object/path2/test.py", line 1076, in <module>s[0] = '李'
TypeError: 'str' object does not support item assignment

1.2 列表的切片

lst = ["麻花藤", "王剑林", "马芸", "周鸿医", "向华强"] 
print(lst[0:3])     # ['麻花藤', '王剑林', '马芸'] 
print(lst[:3])      # ['麻花藤', '王剑林', '马芸']
print(lst[1::2])    # ['王剑林', '周鸿医'] 也有步长 
print(lst[2::-1])   # ['马芸', '王剑林', '麻花藤'] 也可以倒着取 
print(lst[-1:-3:-2])    # 倒着带步长

练习

li = [1, 3, 2, "a", 4, "b", 5,"c"]
通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
通过对li列表的切片形成新的列表l3,l3 = ["1,2,4,5]
通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
通过对li列表的切片形成新的列表l5,l5 = ["c"]
通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]

1.3 列表的增删改查

1.3.1 增

注意 list和str是不一样的. lst可以发生改变. 所以直接就在原来的对象上进行了操作

追加模式

lst = ["麻花藤", "林俊杰", "周润发", "周芷若"] 
print(lst) 
lst.append("wusir") 
print(lst)

练习

输入用户信息,添加到列表中

lst = []
while True:content = input("请输入你要录入的员工信息, 输入Q退出:")if content.upper() == 'Q':break
lst.append(content)
print(lst)

插入模式

lst = ["麻花藤", "张德忠", "孔德福"]
lst.insert(1, "刘德华")    # 在1的位置插入刘德华. 原来的元素向后移动一位
print(lst)

迭代添加

# 迭代添加
lst = ["王志文", "张一山", "苦海无涯"]
lst.extend(["麻花藤", "麻花不疼"])
print(lst)

1.3.2 删除

pop 通过下标删除元素(默认删除最后一个)lst = ["麻花藤", "王剑林林", "李李嘉诚", "王富贵"] 
print(lst)
lst.pop()deleted = lst.pop()
print('被删除的',deleted)
print(lst)el = lst.pop(2)  # 删除下标位2的元素
print(el)        # 被删除的元素
print(lst)

remove 通过元素删除

lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
lst.remove('王剑林')
print(lst)结果:
['麻花藤', '李嘉诚', '王富贵']lst.remove('哈哈')   # 删除不存在的元素
结果:
Traceback (most recent call last):File "D:/python_object/path2/test.py", line 1115, in <module>lst.remove('哈哈')   # 删除不存在的元素
ValueError: list.remove(x): x not in list

clear 清空

lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
lst.clear()
print(lst)结果:
[]

练习

写代码,有如下列表,按照要求实现每一个功能
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
请删除列表中的元素"ritian",并输出添加后的列表
请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
请删除列表中的第2至4个元素,并输出删除元素后的列表

1.3.3 修改

索引切片修改

# 修改 
lst = ["太白", "太黑", "五色", "银王", "⽇天"] 
lst[1] = "太污"   # 把1号元素修改成太污 print(lst) 
lst[1:4:3] = ["麻花藤", "哇靠"]     # 切片修改也OK. 如果步长不是1, 要注意元素的数 
print(lst) 
lst[1:4] = ["我是哪个村的村长王富贵"]  # 如果切片没有步长或者步长是1. 则不用关心个数 
print(lst)

1.3.4 查询

列表是一个可迭代对象,所以可以进行for循环lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]for i in lst:print(i)结果:
麻花藤
王剑林
李嘉诚
王富贵

练习

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
将列表li中第三个元素修改成'taibai'
将列表li中第四个元素修改成'女神'
将列表li中前三个元素修改成'alex1,alex2,alex3'

1.4 列表的嵌套

注意:采用降维操作,一层一层的看就好

lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']]# 找到wusir
print(lst[2])# 找到太白和wusir
print(lst[1:3])# 找到太白的白字
print(lst[1][1])# 将wusir拿到,然后首字母大写 在扔回去s = lst[2]
s = s.capitalize()
lst[2] = s
print(lst)# 简写
lst[2] = lst[2].capitalize()
print(lst)# 把太白换成太黑
lst[1] = lst[1].replace('白','黑')# 把麻花疼换成麻花不疼
lst[3][0] = lst[3][0].replace('疼','不疼')
print(lst)# 在可口可乐后边添加一个雪碧
lst[3][1].append('雪碧')
print(lst)

练习

写代码,有如下列表,按照要求实现每一个功能。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
将列表lis中的"tt"变成大写(用两种方式)。
将列表中的数字3变成字符串"100"(用两种方式)。
将列表中的字符串"1"变成数字101(用两种方式)。

这个知识点用在什么地方:

你需要存储大量的数据,且需要这些数据有序的时候。制定一些特殊的数据群体:按顺序,按规则,自定制设计数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31884.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于单片机无线防丢报警器设计过程分享

目录 【功能介绍】 【原理图】 【PCB】 【实物图】 【元器件清单】 【源代码】 【模块介绍】 【参考资料】 【参考文献】 【功能介绍】 本设计利用51单片机结合NRF24L01无线模块进行设计&#xff0c;防丢器分为两个部分&#xff0c;分为从机和主机&#xff0c;即发射模…

基于单片机倾角检测仪设计分享

目录 【功能介绍】 【原理图】 【PCB】 【实物图】 【元器件清单】 【源代码】 【参考资料】 【参考文献】 【功能介绍】 本设计利用51单片机为主控系统&#xff0c;采用三轴加速度传感器ADXL345进行倾角测量&#xff0c;可以实现两大功能&#xff1a; 实时显示当前测…

360数科港交所上市:市值超160亿港元 周鸿祎为大股东

雷递网 雷建平 11月29日 360数科股份有限公司 (股票代码&#xff1a;3660)今日在港交所主板上市&#xff0c;发行价为50.03港元&#xff0c;募资净额为2.77亿港元。 360数科开盘价为50.6港元&#xff0c;较发行价小幅上涨&#xff0c;收盘价为51.75港元&#xff0c;较发行价上涨…

80%的能力问题,都是态度问题

置顶 “进击的阿秀” 和优秀的人一起成长&#xff0c;做牛逼闪闪的职场青年 咱们开头先分享一个故事。 周鸿祎在创办3721的时候&#xff0c;有一次开会后嘱咐傅盛一定要做好会议记录。 周鸿祎天马行空地讲了好久&#xff0c;傅盛不仅把内容全记了下来&#xff0c;还仔细研究每段…

雷军以为会当一辈子码农,不料后来成了小米董事长

本文转自&#xff1a;IT时代网 不会写代码的CEO&#xff0c;不是好技术。在科技互联网行业&#xff0c;其创始人大都由技术人员组成&#xff0c;百度李彦宏&#xff0c;腾讯马化腾&#xff0c;360周鸿祎、特斯拉、SpaceX创始人马斯克&#xff0c;微软创始人比尔盖茨&#xff0…

周鸿鸿蒙系统,鸿蒙系统终于来了,它能否取代安卓?周鸿祎的观点一针见血!...

文|聪明小生 校对|李蓉婳 原创内容&#xff0c;请勿搬运抄袭&#xff0c;违者必究 如果说芯片是手机的心脏&#xff0c;那么操作系统则是手机的灵魂。这些年&#xff0c;尽管我国智能手机崛起速度飞快&#xff0c;但遗憾的是&#xff0c;不管是芯片还是操作系统&#xff0c;都比…

【送书福利-第十四期】ChatGPT时代 + PowerBI助力快速创建动态报表

大家好&#xff0c;我是洲洲&#xff0c;欢迎关注&#xff0c;一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我&#xff01; 本文目录 一、前言二、内容介绍三、抽奖方…

chatGPT如何助力devops

随着软件开发行业的不断发展&#xff0c;DevOps已成为软件开发的主流方法。DevOps是一种将开发和运维工作结合起来的实践&#xff0c;旨在提高软件交付速度和质量&#xff0c;以及优化整个软件开发过程。最近&#xff0c;聊天机器人技术的崛起为DevOps带来了全新的变革&#xf…

100+国产大模型排行榜!部分超越ChatGPT-4

国产大模型的发展速度惊人。至少说明在国内的显卡数量是足够多的。如果能集中资源&#xff0c;或许能快速跟进ChatGPT。 不过&#xff0c;其中不少厂家号称已经超越ChatGPT-4。让人感到欣慰。 觉得哪个好&#xff0c;评论区见&#xff01;

ChatGPT 的 18 种玩法,惊到我了

原创 | Java 2021 超神之路&#xff0c;很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-…

如何夯实数字经济时代的算力基石?

如今&#xff0c;快速发展的数字经济与数字产业正在成为经济增长的新动能。根据第三方研究报告&#xff1a;2021年中国数字经济规模已经达到45.5万亿元人民币&#xff0c;占中国国内生产总值的39.8%。而以人工智能、大数据、边缘计算、并行计算、元宇宙为代表的新兴信息技术&am…

chatgpt赋能python:Python自动下单:提高效率的必备利器

Python自动下单&#xff1a;提高效率的必备利器 随着电商市场的不断发展&#xff0c;越来越多的商家开始使用自动下单工具来提高生产力和效率。Python作为一种高级编程语言&#xff0c;具有功能强大&#xff0c;易于学习和使用的优点&#xff0c;其自动下单的能力也受到了广泛…

解决 openwrt/Lede pppoe拨号频繁掉线的问题

我自己的软路由是J1900刷的lede&#xff0c;近期电信pppoe拨号频繁掉线&#xff0c;排除了网线&#xff0c;更换了光猫&#xff0c;最终锁定软路由为的问题。目前才用了下面的方法&#xff0c;尝试解决该问题 转载自http://ninecmd.com/?p948 WRT1900AC路由器,自从宽带换到联…

tlwdr5660间歇性掉线_tplink路由器频繁掉线的原因及解决办法

tplink路由器频繁掉线是怎么回事&#xff1f;tplink是大家最常使用的路由器&#xff0c;很多朋友都会遇到路由器频繁掉线的情况&#xff0c;这真的很郁闷。那么&#xff0c;tplink路由器频繁掉线是什么原因导致的呢&#xff1f;主要有三大方面&#xff0c;下面小编就给大家介绍…

为什么win11连接wifi频繁掉线?

如果网络波动比较大的话&#xff0c;就会导致电脑使用过程中不顺畅&#xff0c;网页打开速度都会很缓慢。就有win11用户跟小编反映自己的电脑连接WiFi后总是掉线&#xff0c;非常烦人&#xff0c;这该怎么办&#xff1f;下面就来看看小编为大家整理的几个解决办法&#xff0c;希…

mac频繁掉线的解决方案汇总

mac频繁掉线的解决方案汇总 最近一个月我的mac回到家用的时候经常掉线&#xff0c;但是在公司一切正常&#xff0c;找了很多方法都没有解决到&#xff0c;最后在我实在受不了的情况下&#xff0c;终于解决了&#xff0c;以下将试过的方法都汇总一下&#xff0c;因为每台机的情况…

VM16-ubuntu16桥接网络频繁掉线

故障说明 旧电脑使用的vm15-ubuntu16&#xff0c;通过移植安装到新电脑&#xff0c;后又通过升级把虚拟机升级到vm16&#xff0c;更改网络连接的NAT模式到桥接模式&#xff0c;发现网络即使出现正常连接的图标和正确的IP地址但是还是会有频繁掉线的情况。 解决方案 1.依次打…

解决WiFi共享大师频繁掉线问题

查看当前网卡驱动是否支持承载网络 使用winr输入cmd打开命令行界面输入netsh wlan show drivers执行查看支持承载网络是否为是&#xff0c;如果为否&#xff0c;请执行下面的步骤将网卡驱动回滚 打开设备管理器&#xff0c;回滚网卡驱动 驱动程序->更新驱动程序->浏览我…

PC、手机老是掉线该如何排查?

连通性、ARP 欺骗、硬件、省电模式。 1、查看电脑的数据连通性 PING测网络运营商&#xff08;114.114.114.114&#xff09;&#xff0c;看是否有延迟或者是丢包 ping 114.114.114.114 -t 2、ARP 欺骗 arp -a //通过询问当前协议数据&#xff0c;显示当前 ARP 项。如果指定…

微信机器人换了服务器掉线,故障2:微信频繁掉线

微信频繁掉线先排查问题 可能原因&#xff1a; 1.手机端微信不可以退出和切换其他微信&#xff0c;否则必掉线。(手机没网/关机等情况没事) 2. 在电脑上登陆了这个机器人微信&#xff0c; 一定会将机器人挤下线。 以上操作百分百会导致软件上微信掉线。切记&#xff0c;挂机时不…