python - 在不使用 *(星号)的情况下解压

标签 python functional-programming argument-unpacking

如果我想保持功能,并且不想在中间使用 *,那么等效的替代函数是什么? 例如,

import operator as op
print(op.eq(*map(str.upper, ['a', 'A'])))

如何避免在此处使用 *

我创建了一个函数,比如,

def unpack(args):
  return *args

但它给出了语法错误,print(*args) 有效但 return 失败

最佳答案

functools.reduce可用于将两个参数的函数累积应用于可迭代对象,这适用于您的示例案例

import operator as op
from functools import reduce
print(reduce(op.eq, map(str.upper, ['a', 'A'])))

关于python - 在不使用 *(星号)的情况下解压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71817809/

相关文章:

用于图像处理的 PHP 或 Python?

r - 使用 apply 将 R 循环转换为函数形式

haskell - 理解 Haskell 中的折叠

python - 从 Python 中的特定 XML 节点检索注释

python - 在 Pandas 数据框上使用 polyfit,然后将结果添加到新列

python - 使用 ID 的 css 选择器在 scrapy 中不起作用

python 3 : starred expression to unpack a list

javascript - 更好地使用对象列表的转导,而不是使用 2 个 reducer

将数组解包为参数

python - 哪些数据模型方法实现参数关键字解包?