首页 > 编程语言 >python中path[:]跟path有什么区别?

python中path[:]跟path有什么区别?

时间:2024-01-22 19:44:22浏览次数:41  
标签:区别 python result2 列表 result path result1 append

问题:看到别写的算法里有path[:],不知道跟普通的有什么区别?

AI答案:

在 Python 中,`result.append(path[:])`和`result.append(path)` 有本质的区别。

result.append(path) 这种方式,是将 path 列表的引用加入到 result 列表,如果后续更改了 path 列表,result 中的相应元素也会随之改变。

而 result.append(path[:]) 这种方式,是将 path 列表的一个拷贝加入到 result 列表中,这样后续如果 path 列表改变,不会影响到已经添加到 result 的元素。也就是说,它们是完全独立的两个列表,之后对其中一个列表所做的任何修改,都不会影响另一个列表。

例子:

path = ['a', 'b', 'c']
result1 = []
result2 = []

result1.append(path)
result2.append(path[:])

print(result1)  # 输出: [['a', 'b', 'c']]
print(result2)  # 输出: [['a', 'b', 'c']]

path.append('d')

print(result1)  # 输出: [['a', 'b', 'c', 'd']]
print(result2)  # 输出: [['a', 'b', 'c']]

你可以看到,当 path 列表修改后,result1 中的那个列表也被修改了,而 result2 中的那个列表则没有被修改。这就是主要区别。

测试:

总结:

  • path = 【1,2,3】
  • 普通的path是引用
  • path[:] 是拷贝一份

 

参考:

gpt-4-1106-preview

 

标签:区别,python,result2,列表,result,path,result1,append
From: https://www.cnblogs.com/liqi175/p/17980827

相关文章

  • Python web crawler(5)多页网站拼接
    先搞单页网站:importrequestsfromlxmlimportetreeurl='https://*********.com/top250?start=1'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/120.0.0.0Safari/......
  • 使用 gdb 调试运行中的 Python 进程(转)
    addbyzhj: 虽然本文是以UbuntuPython2.7为例,但基本也适用于UbuntuPython3,但有两点不同1. aptintallpython<3.x>-dbg,这里的3.x是你要调试的Python程序使用的Python版本。如果你有两个Python程序需要调试,一个使用Python3.7,另一个使用Python3.9,那需要安装python3.7-dbg和pyt......
  • xpath 一键去除前后空白、回车、换行
    使用xpath方式,打印结果,经常出现大量换行、空格等情况fromlxmlimportetree#data=etree.parse('./素材/示例网站.html')parser=etree.HTMLParser(encoding="utf-8")#出现读取错误时,需要加入parser参数data=etree.parse('./素材/示例网站.html',parser=parser)ch......
  • python学习笔记10(循环结构2)
    一)循环结构21、扩展模式语法:for循环变量in遍历对象:语句块1else:语句块2说明:else在循环结束后执行,通常和break和continue结合使用2、无限循环whilewhile表达式:语句块例子:answer=input('今天要上课么?y/n')whileanswer=='y':print('好好学习,天天向上')answer=input('今......
  • VUE框架CLI组件化配置Router路由局部守卫path和componet和router完整项目实现------VU
    <template><div><!--组件分为普通组件和路由组件--><divclass="s2"><h2>县区</h2><ul><!--query形式接收--><!--<li>{{$route.......
  • 快乐学Python,如何使用Python处理文件(csv、Excel、html)数据?
    在前面的文章中,我们了解了Python爬虫的一些内容。截止到现在,我们已经可以将需要的数据通过爬虫获取,并保存到CSV文件中。在有了数据集后,接下来我们就开始了解如何将数据集的内容加载到Python中。虽然在之前也有了解简单的读取csv数据。但是存在两个问题:只能读取csv文件,但数据分析......
  • python自动化测试学习路线(从入门到精通)
    python自动化测试学习路线(从入门到精通)一、Python的应用场景Python用于简单脚本编程,如编写2048小游戏或12306的自动抢票软件;Python用于系统编程,如开发系统应用;Python用于开发网络爬虫;网络爬虫的用途是进行数据采集,也就是将互联网中的数据采集过来。网络爬虫的难点其......
  • 测试开发技术:Python测试框架Pytest的基础入门
    测试开发技术:Python测试框架Pytest的基础入门  Pytest简介Pytestisamaturefull-featuredPythontestingtoolthathelpsyouwritebetterprograms.Thepytestframeworkmakesiteasytowritesmalltests,yetscalestosupportcomplexfunctionaltesting......
  • 如何从 0 开始学 Python 自动化测试开发(一)
    如何从0开始学Python自动化测试开发(一)Python:「TIOBE’s2018年度编程语言」Python作为大数据工程和AI的主流开发语言,近年来一直保持强劲的上升趋势。即使目前AI领域还没有大量的成功商业案例(盈利的)出现,Python语言就已经空前火爆了。2019新年伊始,Python果然......
  • Python 自动化测试开发
     测试开发WebUI测试自动化splinter-webUI测试工具,基于selnium封装。链接selenium-webUI自动化测试。链接--推荐文档参考mechanize-Python中有状态的程序化Web浏览。链接selene-使用Python+Ajax支持+PageObjects+Widgets进行简明UI测试链......