map() 和列表理解大致相同:
map(function, list1)
[function(i) for i in list1]
Run Code Online (Sandbox Code Playgroud)
如果我们想要使用的函数是一种方法怎么办?
[i.function() for i in list1]
map(.function, list1) # error!
map(run_method(function), list1) # error!
Run Code Online (Sandbox Code Playgroud)
我怎么能用这种操作map呢?
在Spark SQL中,当我尝试在DataFrame上使用map函数时,我遇到了错误.
DataFrame类型中的方法映射(Function1,ClassTag)不适用于参数(new Function(){})
我也在关注spark 1.3文档.https://spark.apache.org/docs/latest/sql-programming-guide.html#inferring-the-schema-using-reflection有任何解决方案吗?
这是我的测试代码.
// SQL can be run over RDDs that have been registered as tables.
DataFrame teenagers = sqlContext.sql("SELECT name FROM people WHERE age >= 13 AND age <= 19");
List<String> teenagerNames = teenagers.map(
new Function<Row, String>() {
public String call(Row row) {
return "Name: " + row.getString(0);
}
}).collect();
Run Code Online (Sandbox Code Playgroud) 假设我有一个组件,例如:
<FormInput label="Phone Number" />
Run Code Online (Sandbox Code Playgroud)
我想在 UI 上绘制 N 个。实现这一目标的最佳实践是什么?我最初的想法是创建一个包含 N 个成员的数组,以便我可以使用 map,例如:
var myMapTrigger = [0,0,0,0,0]
myMapTrigger.map(function(){
return (<FormInput label="Phone Number" />)
}
Run Code Online (Sandbox Code Playgroud)
这当然有点hacky。有没有更惯用的方式更“思考React”?
以下代码:
let myArray = Array.apply(null, {length: 10}).map(Number.call, Number);
Run Code Online (Sandbox Code Playgroud)
创建以下数组:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)
我只是不明白为什么.我无法在互联网上找到解释此行为的任何内容.有谁知道为什么这样做的方式呢?也许是一些文档的链接?
我正在朱莉娅建立一个微观模拟模型.我已经建立了我的功能结构,它适用于1"人".我想编写脚本来通过模型运行100000多人,并将结果保存在一个位置.
最终我想并行执行此操作.
下面我已经包含了一个带有虚拟概率的简单工作版代码.
using Distributions
# Microsim function
function MicroSim(start_age, stages)
stage = 0
age = start_age
# Set all trackers to 0
Death_tracker = 0
Disease_tracker = 0
# While loop
while stage <= stages
age = age
###########################################################
# Probability of Death
pD = 0.02
if age == 100
pD = 1.0
else
pD = pD
end
# Coin flip
dist_pD = Bernoulli(pD)
Died = rand(dist_pD, 1)
if Died == [1]
Death_tracker = 1
# death tracker loop …Run Code Online (Sandbox Code Playgroud) 我是 JavaScript 新手。现在,我有一个包含多个对象的数组。因此,我想迭代它,如果任何对象与条件匹配,那么我想返回一个值并停止该循环。
我的 obj 数组就像,
var obj = [ { type: "", numberOfQuestions:"", technology:"" }, { type: "1", numberOfQuestions:"4", technology:"abcd" }, { type: "", numberOfQuestions:"6", technology:"ass" } ]
Run Code Online (Sandbox Code Playgroud)
而我的条件是,
validateData(data) {
data.High.map((object) => {
if((object.type === "") || (object.numberOfQuestions === "") || (object.technology === "")) {
return true;
} else {
return false;
}
});
}
Run Code Online (Sandbox Code Playgroud)
所以,我想要的是任何有一些键的对象,任何键都有空值,即""然后我想返回一个真值,以便我可以做一些其他的事情。我怎样才能做到这一点 ?
谁能帮帮我吗。
我正在尝试根据键按升序对地图进行排序。鉴于Map:
Map<Integer, String> map = new LinkedHashMap<Integer, String>();
map.put(5, "five");
map.put(1, "one");
map.put(3, "three");
map.put(0, "zero");
Run Code Online (Sandbox Code Playgroud)
我想要订单:
0, zero
1, one
3, three
5, five
Run Code Online (Sandbox Code Playgroud)
我编写了以下代码来完成此任务:
public <K, V extends Comparable<? super V>> Map<K, V> sortByKeyInAscendingOrder(Map<K, V> map)
{
List<Entry<K, V>> list = new ArrayList<>(map.entrySet());
list.sort(Entry.comparingByKey());
Map<K, V> result = new LinkedHashMap<>();
for (Entry<K, V> entry : list) {
result.put(entry.getKey(), entry.getValue());
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我打电话时sort(),出现以下错误:
The method sort(Comparator<? super Map.Entry<K,V>>) in the type List<Map.Entry<K,V>> is …Run Code Online (Sandbox Code Playgroud) 我想在与维度为[batch_size, H, W, n_channels]的矩阵中每个像素的深度通道相对应的每个向量上映射一个 TensorFlow 函数。
换句话说,对于批次中大小为H x W的每个图像:
下面有一张解释该过程的图片。与图片的唯一区别是输入和输出“感受野”的大小均为 1x1(独立地将函数应用于每个像素)。
这类似于对矩阵应用 1x1 卷积;但是,我需要在深度通道上应用更通用的函数,而不是简单的求和运算。
我认为tf.map_fn()可能是一个选项,我尝试了以下解决方案,其中我递归地使用tf.map_fn()来访问与每个像素相关的功能。然而,这种似乎不是最优的,最重要的是,它在尝试反向传播梯度时会引发错误。
您知道发生这种情况的原因以及我应该如何构建代码以避免错误吗?
这是我当前对该功能的实现:
import tensorflow as tf
from tensorflow import layers
def apply_function_on_pixel_features(incoming):
# at first the input is [None, W, H, n_channels]
if len(incoming.get_shape()) > 1: …Run Code Online (Sandbox Code Playgroud) 由于我一直在寻找优化我一直在制作的密码破解程序的方法,我遇到了一个列表中所有可能的字符组合的更短的实现,它使用了这个函数:
mapM (const xs) [1..n]
Run Code Online (Sandbox Code Playgroud)
哪里xs可以是可用的字符,以及n所需单词的长度。所以
mapM (const "abcd") [1..4]
Run Code Online (Sandbox Code Playgroud)
会输出一个列表["aaaa","aaab","aaac","aaad","aaba","aabb"..]等等。只有长度对右边的列表很重要,我可以写['f','h','s','e']或任何 4 个元素列表代替。
我可以理解为什么列表无关紧要,它被传递给了一个const函数。我可以看到const一个列表在技术上满足(a -> m a).
但我的问题是:为什么不是简单的输出["abcd","abcd","abcd","abcd"],或者可能"abcdabcdabcdabcd"?什么是一个const函数做输出给定的字母所有4度字母的变化?
如何Map与管座一起使用该功能|>?
下一个向量可以在函数x内部使用Map
x <- c(1,5,1,2)
Map(function(n)n*2, x) |> unlist()
# [1] 2 10 2 4
Run Code Online (Sandbox Code Playgroud)
这有效,但是当我尝试使用管道时,出现下一个错误:
x |> Map(function(n)n*2, ...= _)
#Error in (function (n) : unused argument (... = dots[[1]][[1]])
Run Code Online (Sandbox Code Playgroud)
所以我又做了一个匿名函数,但是很难读
x |> (function(x) Map(function(n)n*2,x))() |> unlist()
#[1] 2 10 2 4
Run Code Online (Sandbox Code Playgroud)
我想知道为什么Map不能占据占位符 _。
我改变了参数的顺序Map所以它可以更清晰
myMap <- \(...,f) Map(f, ...)
x |> myMap(f = function(n)n*2) |> unlist()
#[1] 2 10 2 4
Run Code Online (Sandbox Code Playgroud) map-function ×10
arrays ×2
java ×2
javascript ×2
reactjs ×2
apache-spark ×1
combinations ×1
constants ×1
function ×1
gradient ×1
hashmap ×1
haskell ×1
julia ×1
methods ×1
monads ×1
nested ×1
numbers ×1
pmap ×1
python ×1
r ×1
sorting ×1
sql ×1
tensorflow ×1