import numpy as np
print max([np.nan, 1, 2, 3, 4])
print max([1, 2, 3, 4, np.nan])
print max([1, 2, 3, np.nan, 4])
Run Code Online (Sandbox Code Playgroud)
第一个将打印nan作为列表的最大值
第二个将打印4作为列表的最大值
第三个将打印4作为列表的最大值
有这个问题的解决方案吗?让所有数学函数都忽略南?
我是红宝石的新手,但这就是问题所在.假设我有一个矩阵,我需要在1,2修改一个元素
mm = Matrix.build(2,4) {0}
mm[1][2] = 404
Run Code Online (Sandbox Code Playgroud)
但这会引起错误信息
ArgumentError: wrong number of arguments (1 for 2)
from /Users/xxxxxx/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/matrix.rb:314:in `[]'
from (irb):11
from /Users/xxxxxx/.rvm/rubies/ruby-2.0.0-p0/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我检查了ruby doc,但没有找到任何答案,抱歉问这么愚蠢的问题......
假设我有一系列单词,不同的单词可能有不同的长度,我想按长度组织它们.所以稍后我可以通过给出一个长度参数来访问所有共享相同长度的单词.
words = Array.new()
#fill words by reading file
words.each do |word|
#add word to hash table, key is the length of this word
#what can I do?
end
Run Code Online (Sandbox Code Playgroud)
我已经在堆栈溢出中检查了其他问题和答案,但它们都没有告诉如何在旧键下插入新值,同时将所有值保存在数组形式中.