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建议的那样创建一个操作词典。我很确定你不能。