Python 将元组的一个元素作为参数与其他参数一起传递
我有一个库函数,它返回一个元组,看起来像这样Python 将元组的一个元素作为参数与其他参数一起传递,python,tuples,argument-passing,Python,Tuples,Argument Passing,我有一个库函数,它返回一个元组,看起来像这样 def some_function(some_string): does something return (text,id) def other_function(name,phone,text,age): ... return 现在我想把some_函数返回的文本作为参数传递给另一个函数。关键是函数还有其他参数,我不想将整个元组作为指针传递。我还需要检索许多文本,这些文本将由一些_字符串的不同值生成 根据满足的条件
def some_function(some_string):
does something
return (text,id)
def other_function(name,phone,text,age):
...
return
现在我想把some_函数返回的文本作为参数传递给另一个函数。关键是函数还有其他参数,我不想将整个元组作为指针传递。我还需要检索许多文本,这些文本将由一些_字符串的不同值生成
根据满足的条件,我想调用另一个函数,它看起来像这样
if abcd:
other_function(name,phone,**some_function("abcd")**,age)
elif xyz:
other_function(name,phone,**some_function("xyz")**,age)
else:
other_function(name,phone,**some_function("aaaa")**,age)
那么,我应该用什么来替换某些函数bcd,以便它只发送文本,而不发送文本和id作为参数
另一个函数的定义如下
def some_function(some_string):
does something
return (text,id)
def other_function(name,phone,text,age):
...
return
我自己想出的一个解决方案是创建另一个只返回文本的函数
def returntextonly(some_string):
self.some_string = some_string
(text,id) = some_function(some_string)
return text
然后调用另一个函数,如
if abcd:
other_function(name,phone,returntextonly("abcd"),age)
<>我主要是用C++编程,最近才拿起Python。我想知道是否有比创建一个新函数只返回元组的一个元素更好的解决方案
感谢阅读。您可以通过以下方式运行此操作:
other_function(name, phone, some_function("abcd")[0], age)
不需要定义额外的if语句、包装函数等,因为您只想传递从原始函数返回的元组的第一个元素
对于一般情况,这变成:
other_function(name, phone, some_function(some_string)[0], age)
请注意,元组是另一个不可变迭代器,可以使用常规索引(如列表中的索引)访问其元素。您可以按以下方式运行此操作:
other_function(name, phone, some_function("abcd")[0], age)
不需要定义额外的if语句、包装函数等,因为您只想传递从原始函数返回的元组的第一个元素
对于一般情况,这变成:
other_function(name, phone, some_function(some_string)[0], age)
请注意,元组是另一个不可变迭代器,可以使用列表中的常规索引访问其元素。元组只是一个序列,序列类似于数组/列表/字符串等,因此您可以执行一些函数bcd[0]来获取它的第一个元素,这是您的文本。元组只是一个序列。序列类似于数组/列表/字符串等,因此您可以执行一些函数bcd[0]来获取它的第一个元素,这是您的文本。啊,谢谢。不知道Python有那么简单:啊,谢谢。我不知道Python有那么简单: