栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将列表传递给值函数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将列表传递给值函数

您可以使用

[:]
,但是对于包含列表(或其他可变对象)的列表,您应该使用
copy.deepcopy()

lis[:]
等价于
list(lis)
copy.copy(lis)
,并返回列表的浅表副本。

In [33]: def func(lis):    print id(lis)   ....:In [34]: lis = [1,2,3]In [35]: id(lis)Out[35]: 158354604In [36]: func(lis[:])158065836

何时使用

deepcopy()

In [41]: lis = [range(3), list('abc')]In [42]: id(lis)Out[42]: 158066124In [44]: lis1=lis[:]In [45]: id(lis1)Out[45]: 158499244  # different than lis, but the inner lists are still sameIn [46]: [id(x) for x in lis1] = =[id(y) for y in lis]Out[46]: TrueIn [47]: lis2 = copy.deepcopy(lis)In [48]: [id(x) for x in lis2] == [id(y) for y in lis]  Out[48]: False


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号