python - 在 Python 中通过引用修改变量列表的优雅方法?

标签 python reference

假设我有一个函数 f(),它接受一个列表并返回该列表的变化。如果我想将该函数应用于我的类实例 (i) 中的五个成员变量,我可以这样做:

for x in [i.a, i.b, i.c, i.d, i.e]:
    x[:] = f(x)

1)有没有更优雅的方式?我不希望 f() 修改传递的列表。

2) 如果我的变量包含一个简单的整数(它不适用于切片表示法),还有办法吗? (在这种情况下,f() 也会接受并返回一个整数)

最佳答案

另一种解决方案,虽然它可能并不优雅:

for x in ['a', 'b', 'c', 'd', 'e']:
    setattr(i, x, f(getattr(i, x)))

关于python - 在 Python 中通过引用修改变量列表的优雅方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801918/

相关文章:

python - c++运行python代码以导入自定义模块

python - 相同的 Python 代码,相同的数据,不同机器上的结果不同

c++ - C++ 模板中的 const 引用

c - 增加引用计数的经验法则是什么?

c++ - 我应该总是处理引用返回 vector 吗?

python - 如何在 Python 中运行另一个脚本而不等待它完成?

python - NLTK 的所有可能的 pos 标签是什么?

python - 在python中存储百万像素的最佳数据结构?

asp.net - 类型或命名空间名称 'AspNet' 在命名空间 'Microsoft' 中不存在错误?

c++ - Google 关于输入/输出参数作为指针的风格指南