Python 迭代;功能“;对象
我正在寻找一种能够通过函数参数定义字典键的方法。在下面的代码中,我对字典键的第一个字母和第二个字母进行了划分,但Python的函数参数不是字符串Python 迭代;功能“;对象,python,function,python-2.7,Python,Function,Python 2.7,我正在寻找一种能够通过函数参数定义字典键的方法。在下面的代码中,我对字典键的第一个字母和第二个字母进行了划分,但Python的函数参数不是字符串 def x(a, b, c): dict = {'ab': 0, 'ac': 0, 'bc': 0} for d, e in dict.keys: dict[de] = d/e x(10, 20, 30) 下面是一些处理任意数量参数的代码。它首先将参数名称按字母顺序排序。然后,它创建所有参数对并执行除法(按字母顺序
def x(a, b, c):
dict = {'ab': 0, 'ac': 0, 'bc': 0}
for d, e in dict.keys:
dict[de] = d/e
x(10, 20, 30)
下面是一些处理任意数量参数的代码。它首先将参数名称按字母顺序排序。然后,它创建所有参数对并执行除法(按字母顺序将前面参数的值除以后面参数的值),将结果存储在
dict
中,并通过连接参数名来构造dict
的键。该函数返回构造的dict
,当然,在代码中,您可能希望对其执行进一步的操作
from itertools import combinations
def ratios(**kwargs):
pairs = combinations(sorted(kwargs.keys()), 2)
return dict((p + q, kwargs[p] / kwargs[q]) for p, q in pairs)
print(ratios(a=600, b=3, c=2))
输出
{'ac': 300.0, 'ab': 200.0, 'bc': 1.5}
嗯,什么?请给出一个完整的例子,说明你试图实现的目标,包括输入和输出。我完全不明白你的问题。函数名x也不是很有描述性。为什么不把字典传给
x
?你不能把字母除以字母。你期望结果是什么?如果你给出一些示例输入和预期输出会有所帮助。请看