如何将函数应用于变量输入列表?例如,filter函数返回true值,但不返回函数的实际输出.
from string import upper
mylis=['this is test', 'another test']
filter(upper, mylis)
['this is test', 'another test']
Run Code Online (Sandbox Code Playgroud)
预期的产出是:
['THIS IS TEST', 'ANOTHER TEST']
Run Code Online (Sandbox Code Playgroud)
我知道upper是内置的.这只是一个例子.
我指的是这个问题,特别是对@David Robinson和@mgilson的第一个答案的评论: 在列表中求和每个元组的第二个值
最初的问题是将每个tuble的第二个值相加:
structure = [('a', 1), ('b', 3), ('c', 2)]
Run Code Online (Sandbox Code Playgroud)
第一个答案:
sum(n for _, n in structure)
Run Code Online (Sandbox Code Playgroud)
第二个答案:
sum(x[1] for x in structure)
Run Code Online (Sandbox Code Playgroud)
根据讨论,第一个答案是快50%.
一旦我弄明白第一个答案是什么(来自Perl,我用Google搜索了特殊的_变量意味着在python中),我想知道怎么会出现一个纯粹的子集任务(只获得每个元组的第二个元素与获取和绑定到变量这两个元素)实际上更慢?是否缺少优化Python中的索引访问的机会?我错过了第二个答案需要时间吗?
说我有一个array名为我的阵列
my_array= [[1,2],[1,3],[2,3]]
我想添加从1开始的每个子列表中的所有第二个元素,以便我的输出为5
使用NumPy也不是一个选择......
有谁知道如何做到这一点 ?