假设我有一本模式类型词典:
patternDict = {1:[0],5:[0,3]}
我有一个数组:
A = [[1,3,4,5],[6,7,8,9]]
我还有两个空数组来存储每个模式类型的值:
pattern1=[]
pattern5=[]
我正在迭代patternDict中的每一行和每种模式类型:
for row in A:
for key, value in patternDict.iteritems():
currentPattern = row[value] for value in patternDict[key]
#append either pattern1 or pattern5 with currentPattern based on the key
这就是我遇到麻烦的地方。如何基于patternDict中的键附加到Pattern 1数组或Pattern 5数组。输出如下所示:
pattern1=[1,6]
pattern5=[1,5,6,9]
最好的办法是什么?你知道吗
考虑到您指定的约束,解决方案实际上非常简单。你知道吗
但我怀疑你的真正的问题与简化的问题没有那么密切的关系。如果你能提供一个更清晰的描述,有人会提供一个适当的概括。你知道吗
我强烈建议也使用
dict
,比如在hcwhsa'回复中,如果只有几个这样的变量,也可以使用if-else
条件,比如在Rob的回答中。你知道吗但是,如果没有办法对不同的列表使用单独的变量而不是一个
dict
,那么可以使用globals()
函数访问这些变量。此函数返回一个字典,将当前作用域中定义的所有变量和函数的名称映射到它们各自的值,即globals()["foo"]
获取变量foo
的内容。你知道吗但要注意的是,这可能会导致各种讨厌的,难以发现的错误,一般应避免!你知道吗
Use ^{} instead of variables :
相关问题 更多 >
编程相关推荐