【发布时间】:2015-03-28 09:50:48
【问题描述】:
我编写了以下函数来返回字典的子集,但我希望坚持在输入参数中至少提供一个键。
def getProperty(self,x, *key):
key = [k for k in key]
key.insert(0,x)
return {k:self.__properties[k] for k in key if k in self.__properties}
代码有效。
我知道插入并不是真正必要的,因为字典元素没有排序。我真正希望我能做的是摆脱第一个通过从多参数元组中提取元素来创建列表的 for 循环。
类似
key = [x] + [key]
但它不起作用。
【问题讨论】:
-
it does not work是什么意思? -
since dictionary elements aren't ordered- 字典在哪里? -
key已经是一个list/tuple,可以直接在dict里面加x
-
字典是__properties。我只是想检索给定输入键的子集,其中至少一个是强制性的。
标签: python python-3.4 argument-passing