Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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_Function_Python 2.7 - Fatal编程技术网

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) 下面是一些处理任意数量参数的代码。它首先将参数名称按字母顺序排序。然后,它创建所有参数对并执行除法(按字母顺序

我正在寻找一种能够通过函数参数定义字典键的方法。在下面的代码中,我对字典键的第一个字母和第二个字母进行了划分,但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)

下面是一些处理任意数量参数的代码。它首先将参数名称按字母顺序排序。然后,它创建所有参数对并执行除法(按字母顺序将前面参数的值除以后面参数的值),将结果存储在
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
?你不能把字母除以字母。你期望结果是什么?如果你给出一些示例输入和预期输出会有所帮助。请看