python - 列表引用
问题描述
如何将 python 中的某些列表值引用给其他人?(见下面的例子)
my_list = [ 5, my_list[0] * 2, 25 - my_list[1] ]
print(my_list) # expected output: [5, 10, 15]
我收到一个错误(可能是因为我不知道该怎么做)
Traceback (most recent call last):
File "test.py", line 1, in <module>
my_list = [ 5, my_list[0] * 2, 25 - my_list[1] ]
NameError: name 'my_list' is not defined
解决方案
你不能;通常,在 RHS 完成创建值之前,LHS 上的名称不会绑定到任何东西。(错误是因为您试图重用绑定到类型 list
的名称作为 . 的实例的名称list
。不要那样做。)
在 Python 3.8 中,您可以执行以下操作,尽管我不确定这样做的好处是什么,除了可以更轻松地编辑部分定义而无需重写整个内容。
lst = [(y := 5), (z := y * 2), 25 - z]
适用于任何Python 版本的更直接的定义将只使用临时变量:
y = 5
z = y * 2
lst = [y, z, 25 - z]
推荐阅读
- sql - 蜂巢阵列
- android - 有没有办法访问 DJI Pilot android 应用程序的源代码?
- sql - Write-SqlTableData 中途出现 ConnectionToServerFailed 失败
- c++ - 如果在 C++ 中为 null,则回退值
- sql-server - 如何计算每组具有特定值的元组数?
- c# - 已向 commandmanager 注册命令,但未触发
- counting-sort - 两个代码有何不同?,当运行 code1 给出 TLE 错误但第二个不给出 . 基于 0(n) 的解决方案
- javascript - 如何用 webpack 和 babel 做 $( document ).ready() ?
- c# - 如何反序列化键名.Net中包含点(。)的Json字符串
- django - 根据用户和 NGINX 保护 Django 媒体文件