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

Python列表不反映变量更改

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

Python列表不反映变量更改

Python变量包含对 值的 引用。因此,在定义

palin
列表时,您传入所引用的值
polly
,而不是变量本身。

您应该将值想象为气球,变量是绑定到那些气球的线程。

"alive"
是一个气球,
polly
只是该气球的一个线程,并且
palin
列表具有与该气球相关的
不同 线程。在python中,列表只是一系列线程,所有线程均从0开始编号。

接下来的操作是将

polly
字符串绑定到新的气球上
"dead"
,但是列表仍然保留在与
"alive"
气球相连的旧线程上。

您可以

"alive"
通过按索引重新分配列表以引用每个线程,从而将该线程替换为列表中保留的线程。在您的示例中,该线程是
1

>>> palin[1] = polly>>> palin['parrot', 'dead']

在这里,我简单地将

palin[1]
线程
polly
绑定到相同的东西,无论可能是什么。

请注意,在任何蟒集合,如

dict
set
tuple
,等仅仅是线程的集合了。其中一些可以将其线程换成不同的线程,例如列表和字典,这就是使python中的某些东西“可变”的原因。

另一方面,字符串是 不可 变的。一旦定义了类似

"dead"
或的字符串
"alive"
,它就是 一个
气球。您可以将其与线程(变量,列表或任何其他东西)绑定在一起,但是不能替换其中的字母。您只能将该线程绑定到一个 全新的 字符串。

python中的大多数东西都可以像气球一样。整数,字符串,列表,函数,实例,类都可以绑定到变量中,也可以绑定到容器中。

您可能还想阅读Ned
Batchelder关于Python名称的论文



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

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

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