如何将函数应用于变量输入列表?例如,filter
函数返回真值,但不返回函数的实际输出。
from string import upper
mylis=['this is test', 'another test']
filter(upper, mylis)
['this is test', 'another test']
预期的输出是:
['THIS IS TEST', 'ANOTHER TEST']
我知道upper
是内置的。这只是一个例子。
我认为您的意思是使用map
而不是filter
:
>>> from string import upper
>>> mylis=['this is test', 'another test']
>>> map(upper, mylis)
['THIS IS TEST', 'ANOTHER TEST']
更简单的是,您可以使用str.upper
而不是从中导入string
(感谢@alecxe):
>>> map(str.upper, mylis)
['THIS IS TEST', 'ANOTHER TEST']
在Python
2.x中,map
通过将给定函数应用于列表中的每个元素来构造新列表。filter
通过限制True
使用给定函数求值的元素来构造新列表。
在Python 3.x中,map
和filter
构建迭代器,而非列表,所以如果你使用Python 3.x和要求的清单列表解析的方法会更适合。
问题内容: 可以说我有一个这样的列表: 我有一个函数,假设我想将该函数应用于该函数的每个子列表,可以计算出有关两个列表的一些分数。如何将此功能应用于的每个列表并在新列表中返回每个分数,如下所示: 我尝试使用以下功能: 问题答案: 您可以使用内置函数来执行此操作。 因此,如果您要应用的函数是,则可以执行以下操作: 在中,上面返回了一个地图迭代器,因此您需要一个显式调用: 如果您要为此编写一些必须在P
我从这个URL刮取了这个表: "https://www.patriotsoftware.com/blog/accounting/average-cost-living-by-state/" 看起来像这样: 然后我编写了这个函数来帮助我将字符串转换成整数: 当我只将函数应用于一列时,它就会工作。我在这里找到了关于在多个列上使用的答案:如何将函数应用于多个列 但我下面的代码不起作用,也不会产生错误:
问题内容: 我有一个数组列表,我想获取数组中元素的笛卡尔积。 我将使用一个示例来使其更加具体… itertools.product似乎可以解决问题,但我只保留了一些细节。 如果我做 我懂了 但是我想要得到的是 我尝试了几种不同的方法: 他们都让我 CP0 代替 CP1 。 有任何想法吗? 提前致谢。 问题答案: 这会将所有对作为单独的参数提供给,然后为您提供它们的笛卡尔积。 您的版本无法正常运行的
我有以下函数(一个以列作为输入的热编码函数)。我基本上想把它应用到我的数据框中的一列,但似乎不明白出了什么问题。 猜我怎么称呼它有问题?
在执行时,是否有一种方法可以将聚合函数应用于dataframe的所有列(或列表)?换句话说,是否有一种方法可以避免对每个列都这样做:
问题内容: 我有一个清单: 如何将每个元素乘以5?输出应为: 问题答案: 您可以只使用列表理解: 请注意,列表理解通常是执行循环的更有效方法: 作为替代方案,以下是使用流行的Pandas软件包的解决方案: 或者,如果您只想要列表: