标签: key

按键分组并对值求和

我有一系列哈希:

[{"Vegetable"=>10}, {"Vegetable"=>5}, {"Dry Goods"=>3>}, {"Dry Goods"=>2}]
Run Code Online (Sandbox Code Playgroud)

我需要在inject这里使用,但我确实在苦苦挣扎.

我想要一个反映前一个哈希重复键总和的新哈希:

[{"Vegetable"=>15}, {"Dry Goods"=>5}]
Run Code Online (Sandbox Code Playgroud)

我控制输出此哈希的代码,以便我可以在必要时进行修改.结果主要是哈希,因为这可能会最终嵌套任意数量的级别,然后很容易在数组上调用flatten但不会平滑哈希的键/值:

def recipe_pl(parent_percentage=nil)
  ingredients.collect do |i|

    recipe_total = i.recipe.recipeable.total_cost 
    recipe_percentage = i.ingredient_cost / recipe_total

    if i.ingredientable.is_a?(Purchaseitem)
      if parent_percentage.nil?
        {i.ingredientable.plclass => recipe_percentage}
      else
        sub_percentage = recipe_percentage * parent_percentage
        {i.ingredientable.plclass => sub_percentage}
      end
    else
      i.ingredientable.recipe_pl(recipe_percentage)
    end
  end
end 
Run Code Online (Sandbox Code Playgroud)

ruby hash key enumerable

40
推荐指数
3
解决办法
3万
查看次数

在MySQL中,UNIQUE索引是否区分大小写?

在MySQL中,索引(索引)是否被定义为UNIQUE区分大小写?

mysql indexing key unique case-sensitive

39
推荐指数
2
解决办法
2万
查看次数

std :: map,如何按值排序,然后按键排序

我需要按值排序地图,然后按键排序.我有一张包含这样内容的地图......

  1  realistically
  8         really
  4         reason
  3     reasonable
  1     reasonably
  1     reassemble
  1    reassembled
  2      recognize
 92         record
 48        records
  7           recs
Run Code Online (Sandbox Code Playgroud)

我需要按顺序获取值,但是关键是在值按顺序后键需要按字母顺序排列.最好的方法是什么?

c++ sorting algorithm dictionary key

38
推荐指数
2
解决办法
14万
查看次数

跳转到VS Code中的Closing标签?

我似乎无法找到一种方法来选择括号的开头并通过VS Code中的某些键组合跳转到它的末尾.例如,在atom中,这是用Ctrl+ 完成的m.

我知道有一种方法可以用Cmd+ Shift+ 跳转到括号或花括号的开头和结尾,\但这对标签不起作用.有任何想法吗?

tags brackets key visual-studio-code

38
推荐指数
5
解决办法
2万
查看次数

Android - 密钥调度超时

在我的Android应用程序中,我遇到了一个非常奇怪的崩溃,当我在我的UI上按下一个按钮(图像)时,整个应用程序冻结,几秒钟后我就会出现可怕的强制关闭对话框.

以下是在日志中打印的内容:


WARN/WindowManager(88): Key dispatching timed out sending to package name/Activity
WARN/WindowManager(88): Dispatch state: {{KeyEvent{action=1 code=5 repeat=0 meta=0 scancode=231 mFlags=8} to Window{432bafa0 com.android.launcher/com.android.launcher.Launcher paused=false} @ 1281611789339 lw=Window{432bafa0 com.android.launcher/com.android.launcher.Launcher paused=false} lb=android.os.BinderProxy@431ee8e8 fin=false gfw=true ed=true tts=0 wf=false fp=false mcf=Window{4335fc58 package name/Activity paused=false}}}
WARN/WindowManager(88): Current state:  {{null to Window{4335fc58 package name/Activity paused=false} @ 1281611821193 lw=Window{4335fc58 package name/Activity paused=false} lb=android.os.BinderProxy@434c9bd0 fin=false gfw=true ed=true tts=0 wf=false fp=false mcf=Window{4335fc58 package name/Activity paused=false}}}
INFO/ActivityManager(88): ANR in process: package name (last in package name)
INFO/ActivityManager(88): Annotation: keyDispatchingTimedOut
INFO/ActivityManager(88): …
Run Code Online (Sandbox Code Playgroud)

android timeout key freeze dispatch

37
推荐指数
2
解决办法
5万
查看次数

如何在ggplot2中手动更改图例中的键标签

我正准备出版的情节.我创建了一个堆积的盒子图,显示每组患者的频率,这些患者是血清反应阴性的一些复杂积累.图例使用了数据框中的标签,这些标签适合我们正在处理项目但不适合发布的标签.我想将名称更改为读者更快速理解的内容.

例如,运行以下脚本

grp <- gl(n=4,k=20,labels=c("group a","group b","group c", "group d"))
value <- runif(n=80, min=10, max=150)
outcome <- cut(value,2)
data <- data.frame(grp,value,outcome)
ggplot(data, aes(grp, fill=outcome)) + geom_bar() +xlab("group") 
             +ylab("number of subjects") + labs(fill="Serologic response")
Run Code Online (Sandbox Code Playgroud)

该代码创建了不适合发布的关键标签"(10.4,80)"和"(80,150)".相反,我希望"双重否定"和"对a和/或b为正".

我想我可以回到数据框并转换为获得具有正确标签的新变量.或者我可以重新考虑我的因素?但是,我更愿意在绘图时这样做.

label r key ggplot2

37
推荐指数
2
解决办法
8万
查看次数

箭头键在sqlplus中不起作用

我发现箭头键在sqlplus控制台上不起作用.例如,如果我按左箭头键,它显示为

SQL>^[[B
Run Code Online (Sandbox Code Playgroud)

有没有解决这个问题的解决方案?

keyboard sqlplus key

37
推荐指数
2
解决办法
2万
查看次数

Javascript HashTable使用Object键

我想创建一个哈希表,将我的对象作为他的密钥,而不将其转换为String.

有点像这样:

var object1 = new Object();
var object2 = new Object();

var myHash = new HashTable();

myHash.put(object1, "value1");
myHash.put(object2, "value2");

alert(myHash.get(object1), myHash.get(object2)); // I wish that it will print value1 value2
Run Code Online (Sandbox Code Playgroud)

编辑:请参阅我的答案以获得完整的解决方案

javascript hash key object

37
推荐指数
3
解决办法
5万
查看次数

在PHP中从数组中删除黑名单键

我有一个关联的数据数组,我有一个我想从该数组中删除的键数组(同时保持原始顺序中的其余键 - 不是这可能是一个约束).

我要寻找一个一个衬垫的PHP的做到这一点.
我已经知道如何我可以遍历数组,但它似乎应该有一些array_mapunsetarray_filter解决方案外面我的把握.

我搜索了一下,但没有发现任何简洁.

要清楚这是一行中的问题:

//have this example associative array of data
$data = array(
    'blue'   => 43,
    'red'    => 87,
    'purple' => 130,
    'green'  => 12,
    'yellow' => 31
);

//and this array of keys to remove
$bad_keys = array(
    'purple',
    'yellow'
);

//some one liner here and then $data will only have the keys blue, red, green
Run Code Online (Sandbox Code Playgroud)

php arrays key

37
推荐指数
2
解决办法
2万
查看次数

在PHP中返回关联数组的第一个键

我试图array_keys()通过引用来获取关联数组的第一个键,而不创建临时变量等.不幸的是,reset()并且array_shift()通过引用获取数组参数,因此似乎都不是可行的结果.

用PHP 5.4我将在天堂; array_keys($array)[0];,但不幸的是,这当然也不是一种选择.

我可以创建一个函数来实现这个目的,但我只能想象有一些PHP的array_*函数可以在单个语句中产生所需的结果,这是我想不到的或者想出来的.

所以:

$array = array('foo' => 'bar', 'hello' => 'world');

$firstKey = assorted_functions($array); // $firstKey = 'foo'
Run Code Online (Sandbox Code Playgroud)

在我的问题中"无参考"条款的原因只是因为我认为array_keys()是必需的(如果有一种方式通过参考,请消防)

我会使用key(),但这需要一个,reset()因为我不确定此操作时指针的位置.


附录

我正在跟进我最近的一个实现:正如我在评论中提到的,它将使用相同的内存,所以如果这是一个问题,这个问题没有解决方案.

$a = range(0,99999);
var_dump(memory_get_peak_usage()); // int(8644416)
$k = array_keys($a)[0];
var_dump(memory_get_peak_usage()); // int(17168824)
Run Code Online (Sandbox Code Playgroud)

知道这一点,因为PHP没有这样的优化功能,但认为有必要明确提及.

接受的答案的简洁性很好,如果你正在使用合理大小的数组,那么它们就可以工作了.

php arrays associative-array key

36
推荐指数
2
解决办法
8万
查看次数