Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:定义属性列表中的调用列表属性_Python - Fatal编程技术网

Python:定义属性列表中的调用列表属性

Python:定义属性列表中的调用列表属性,python,Python,我有一个带有列表操作的列表,例如[“insert”,“append”],因为现在我做的就像列表中说insert一样,然后我调用.insert 检查下面的代码 [31]中的:列表_ops=[“插入”,“附加”] 在[32]中:列表1=[1,3,5] 在[33]中:如果列表操作[0]=“插入”: …:列表1.插入(3,7) ...: 在[34]中:列表1 出[34]:[1,3,5,7] 在[35]中:列表1.列表操作[0](4,9) ---------------------------------

我有一个带有列表操作的列表,例如
[“insert”,“append”]
,因为现在我做的就像列表中说insert一样,然后我调用
.insert

检查下面的代码

[31]中的
:列表_ops=[“插入”,“附加”]
在[32]中:列表1=[1,3,5]
在[33]中:如果列表操作[0]=“插入”:
…:列表1.插入(3,7)
...:
在[34]中:列表1
出[34]:[1,3,5,7]
在[35]中:列表1.列表操作[0](4,9)
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在里面
---->1列表1.列表操作[0](4,9)
AttributeError:“list”对象没有属性“list\u ops”
在[36]中:
如何从
list\u ops
本身选择操作,而不是执行if-else匹配


谢谢。

您不能从操作列表中选择操作,因为它是字符串列表,而不是操作列表。您需要根据字符串选择操作。例如:

list_ops = {
    "insert": list.insert,
    "append": list.append
}

现在,您可以根据输入字符串选择操作。您可以从这里开始吗?

您不能从
列表操作中选择操作,因为它是字符串列表,而不是操作列表。您需要根据字符串选择操作。例如:

list_ops = {
    "insert": list.insert,
    "append": list.append
}
现在,您可以根据输入字符串选择操作。你能从这里开始吗?

如果你真的想这样做,你可以使用和f字符串:

operation=“append”
列表1=[1,2,3]
exec(f“list1.{operation}(4)”)
打印(列表1)#[1,2,3,4]
但老实说,我认为最好像Prune建议的那样创建一个操作字典。

如果您真的想使用和f字符串:

operation=“append”
列表1=[1,2,3]
exec(f“list1.{operation}(4)”)
打印(列表1)#[1,2,3,4]

但是说实话,我认为最好像Prune建议的那样创建一个操作词典。

我很确定你不能。