我一直想知道它们之间有什么区别.他们似乎都在做同样的事情......
我有点惊讶MATLAB没有Map功能,所以我自己一起攻击了一个,因为它是我不能没有的东西.那里有更好的版本吗?那里有一个有点标准的MATLAB函数式编程库我不见了吗?
function results = map(f,list)
% why doesn't MATLAB have a Map function?
results = zeros(1,length(list));
for k = 1:length(list)
results(1,k) = f(list(k));
end
end
Run Code Online (Sandbox Code Playgroud)
用法是例如
map( @(x)x^2,1:10)
Run Code Online (Sandbox Code Playgroud) 我正在使用Reactjs编写一个菜单组件.
"use strict";
var React = require("react");
var Menus = React.createClass({
item_url: function (item,categories,articles) {
console.log('afdasfasfasdfasdf');
var url='XXX';
if (item.type == 1) {
url = item.categoryId == null ? 'javascript:void(0)' : path('buex_portal_browse_category', {slug: categories[item.categoryId].slug});
} else if (item.type == 2) {
url = item.articleId == null ? 'javascript:void(0)' : path('buex_portal_view_article', {slug: articles[item.articleId].slug, id: item.articleId});
} else {
url = item.url;
}
return url;
},
render: function () {
// console.log(this.props.menus); // return correctly
var menuElements = this.props.menus.map(function (item1) { // …Run Code Online (Sandbox Code Playgroud) 我需要一些方法来在pool.map()中使用一个接受多个参数的函数.根据我的理解,pool.map()的目标函数只能有一个iterable作为参数,但有没有办法可以传递其他参数?在这种情况下,我需要传递一些配置变量,比如我的Lock()和记录信息到目标函数.
我试图做一些研究,我认为我可以使用部分功能来使其工作?但是我不完全理解这些是如何工作的.任何帮助将不胜感激!这是我想要做的一个简单示例:
def target(items, lock):
for item in items:
# Do cool stuff
if (... some condition here ...):
lock.acquire()
# Write to stdout or logfile, etc.
lock.release()
def main():
iterable = [1, 2, 3, 4, 5]
pool = multiprocessing.Pool()
pool.map(target(PASS PARAMS HERE), iterable)
pool.close()
pool.join()
Run Code Online (Sandbox Code Playgroud) 在concurrent.futures.Executor.map采用可变数目从该给出的函数被调用iterables的.如果我有一个生成通常解压缩的元组的生成器,我应该如何调用它?
以下方法不起作用,因为每个生成的元组都作为map的不同参数给出:
args = ((a, b) for (a, b) in c)
for result in executor.map(f, *args):
pass
Run Code Online (Sandbox Code Playgroud)
如果没有生成器,映射的所需参数可能如下所示:
executor.map(
f,
(i[0] for i in args),
(i[1] for i in args),
...,
(i[N] for i in args),
)
Run Code Online (Sandbox Code Playgroud) 我正在使用Numpy将数据存储到矩阵中.来自R background,有一种非常简单的方法可以在行/列或矩阵两者上应用函数.
python/numpy组合有类似的东西吗?编写我自己的小实现并不是一个问题,但在我看来,我提出的大多数版本将比任何现有的实现效率低得多/内存密集.
我想避免从numpy矩阵复制到局部变量等,这可能吗?
我试图实现的函数主要是简单的比较(例如,某列的多少元素小于数字x或者有多少元素的绝对值大于y).
如何编写map(List, PredName, Result)将谓词应用于PredName(Arg, Res)元素的Prolog过程,并将List结果返回到列表中Result?
例如:
test(N,R) :- R is N*N.
?- map([3,5,-2], test, L).
L = [9,25,4] ;
no
Run Code Online (Sandbox Code Playgroud) 这是我尝试使用该map函数的循环:
volume_ids = [1,2,3,4,5]
ip = '172.12.13.122'
for volume_id in volume_ids:
my_function(volume_id, ip=ip)
Run Code Online (Sandbox Code Playgroud)
有没有办法可以做到这一点?如果它不是ip参数,那将是微不足道的,但我不知道如何处理它.
我希望能够写出类似的东西
char f(char);
vector<char> bar;
vector<char> foo = map(f, bar);
Run Code Online (Sandbox Code Playgroud)
该transform函数似乎相似,但它不会自动生成结果集合的大小.
我有[3, 16, 120].当我这样做时[3, 16, 120].map(mapper),我想实现,例如[4,5, 17,18, 121,122]每个元素映射到n + 1和n + 2.这当然是一个例子 - 我想要的是简单地从mapper函数中推送多个值
我是否必须使用Array.each并推送到数组,或者是否可以使用Array.map(或其他内置的api)来实现
map-function ×10
python ×4
javascript ×3
arguments ×1
c++ ×1
concurrency ×1
foreach ×1
future ×1
iterator ×1
matlab ×1
numpy ×1
pool ×1
prolog ×1
reactjs ×1
this ×1