在参数中调用具有多个动态元组的 Python 函数 (geopy.distance.great_circle()) [重复]

Posted

技术标签:

【中文标题】在参数中调用具有多个动态元组的 Python 函数 (geopy.distance.great_circle()) [重复]【英文标题】:Calling a Python Function (geopy.distance.great_circle()) with multiple dynamic tuples in arguments [duplicate] 【发布时间】:2020-04-06 15:22:40 【问题描述】:

我有一个动态创建的元组列表,因此它的长度可以变化。此列表的一个示例是:-

mylist=[(18.521428, 73.8544541), (28.6517178, 77.2219388), (18.9387711, 72.8353355)]

现在,我需要调用geopy.distancegreat_circle(),这样我应该将所有元组作为参数传递。 像这样-

great_circle((18.521428, 73.8544541), (28.6517178, 77.2219388), (18.9387711, 72.8353355))

但无法这样做,因为函数great_circle(*args, **kwargs) 需要单个元组而不是元组列表。它引发了以下异常:-

TypeError: unsupported operand type(s) for +=: 'int' and 'list'

那么,你能建议怎么做吗?

【问题讨论】:

【参考方案1】:

只要您确定您的list 包含完全与所需数量相同的输入,您就可以在一行中完成。做吧:

great_circle(*mylist)

* 运算符将从列表中提取您的数据,这将等同于您想要的。

希望这会有所帮助。

【讨论】:

以上是关于在参数中调用具有多个动态元组的 Python 函数 (geopy.distance.great_circle()) [重复]的主要内容,如果未能解决你的问题,请参考以下文章

python函数万能参数(动态参数)

具有多个可能输入的类型检查 Python 方法

Python数据类型-元组

Swift 元组(Tuple)

python 中zip()函数的使用

Python的列表和元组的区别