小编els*_*ini的帖子

在R jupyter笔记本中使用ipython magics?

我安装了jupyter conda install jupyter并且正在运行安装了r kernal的笔记本conda create -n my-r-env -c r r-essentials

我正在运行一个笔记本,并希望从shell运行bash命令.

!echo "hi"
Error in parse(text = x, srcfile = src): <text>:1:7: unexpected string constant
1: !echo "hi"
Run Code Online (Sandbox Code Playgroud)

为了比较,在带有python内核的笔记本中:

!echo "hi"
hi
Run Code Online (Sandbox Code Playgroud)

有没有办法设置R笔记本具有与ipython笔记本相同的功能关于bash命令(也许还有其他魔法)?

r jupyter-notebook jupyter-irkernel

12
推荐指数
2
解决办法
2251
查看次数

Grunt构建不暴露我需要的全局变量

当我使用我的grunt:server任务在本地运行我的项目时,该项目按预期工作.但是,在构建了所有供应商代码并将其放入一个文件之后,我需要的两个模块不可用,并且项目不起作用.

这是我的requirejs配置:

requirejs.config
  baseUrl: './js'
  shim:
    'underscore':
      exports: '_'
    'backbone':
      deps: ['underscore', 'jquery']
      exports: 'Backbone'
    'stack':
      deps: ['d3.global']
      exports: 'stack'
    'highlight':
      exports: 'hljs'

  paths:
    'underscore': '../components/underscore/underscore'
    'backbone': '../components/backbone/backbone'
    'jquery': '../components/jquery/jquery'
    'd3': '../components/d3/d3'
    'd3.global': '../components/d3.global/d3.global'
    'stack': '../components/stack/stack'
    'highlight': '../components/highlightjs/highlight.pack'

require ['app/vendors'],->
  console.log("Backbone", Backbone)
  console.log("_", _)
  console.log("$", $)
  console.log("d3", d3)
  console.log("stack", stack)
  console.log("hljs", hljs)
Run Code Online (Sandbox Code Playgroud)

app/vendor看起来像

define [
  'underscore'
  'jquery'
  'backbone'
  'text'
  'd3.global'
  'stack'
  'highlight'
], ->
Run Code Online (Sandbox Code Playgroud)

当我通过grunt在本地运行项目时,我看到打印出的所有全局变量.但是,当我构建项目时,Backbone Underscore和JQuery打印出来,而堆栈失败(hljs也不可用,如果我从app/vendor中删除堆栈,它不会修复突出显示,所以它可能不是订单的事情) .

使用以下配置调用requirejs优化器:

requirejs:
  compile:
    options:
      baseUrl: 'js/'
      appDir: './<%= yeoman.tmp_dist %>/'
      dir: './<%= yeoman.dist …
Run Code Online (Sandbox Code Playgroud)

javascript amd requirejs gruntjs r.js

5
推荐指数
1
解决办法
253
查看次数

列表理解以平整词典词典

我有一本字典词典:

my_dict = {
    'a': {(1,2): True,
          (1,3): False},
    'b': {(1,4): True,
          (2,3): False}
}
Run Code Online (Sandbox Code Playgroud)

字典总是这种形式,但每个'子'字典都有一组不同的键:my_dict['a'][(1,2)]存在,但这并不意味着my_dict['b'][(1,2)]也存在.

我想要一个布尔值的列表(没有特定的顺序):

[True, False, True, False]
Run Code Online (Sandbox Code Playgroud)

我试图使用单个列表理解来完成此任务:

[my_dict[letter][pair] for pair in my_dict[letter] for letter in my_dict]
Run Code Online (Sandbox Code Playgroud)

这引发了一个错误:

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-142-dc1565efcdc8> in <module>()
      6 }
      7 
----> 8 [my_dict[letter][pair] for pair in my_dict[letter] for letter in my_dict]
KeyError: (2, 3)
Run Code Online (Sandbox Code Playgroud)

它似乎在my_dict ['a']和my_dict ['b']中寻找(2,3).我认为我写的理解只会在相应的字典中查找键.

我已经看到这个解决方案可以解决任何嵌套字典.我也知道我可以用强制循环来强制它.我只是想弄清楚为什么列表理解不像我写的那样工作.

python dictionary list-comprehension python-2.7

2
推荐指数
1
解决办法
1310
查看次数