我想执行元素明智的乘法,在Python中将两个列表乘以值,就像我们可以在Matlab中一样.
这就是我在Matlab中的表现.
a = [1,2,3,4]
b = [2,3,4,5]
a .* b = [2, 6, 12, 20]
Run Code Online (Sandbox Code Playgroud)
对于from 和from的每个组合x * y
,列表理解将给出16个列表条目.不确定如何映射这个.x
a
y
b
如果有人对此感兴趣,我有一个数据集,并希望将其乘以Numpy.linspace(1.0, 0.5, num=len(dataset)) =)
.
给定一个数组,单个元素或nil,获得一个数组 - 后两个分别是单个元素数组和一个空数组.
我错误地认为Ruby会以这种方式工作:
[1,2,3].to_a #= [1,2,3] # Already an array, so no change
1.to_a #= [1] # Creates an array and adds element
nil.to_a #= [] # Creates empty array
Run Code Online (Sandbox Code Playgroud)
但你真正得到的是:
[1,2,3].to_a #= [1,2,3] # Hooray
1.to_a #= NoMethodError # Do not want
nil.to_a #= [] # Hooray
Run Code Online (Sandbox Code Playgroud)
所以要解决这个问题,我需要使用另一种方法,或者我可以通过修改我打算使用的所有类的to_a方法来进行元编程 - 这对我来说不是一个选项.
所以它是一个方法:
result = nums.class == "Array".constantize ? nums : (nums.class == "NilClass".constantize ? [] : ([]<<nums))
Run Code Online (Sandbox Code Playgroud)
问题是它有点混乱.这样做有一种优雅的方式吗?(如果这是解决这个问题的Ruby-ish方法,我会很惊讶)
在Rails的ActiveRecord中,调用say user.posts
会返回一组帖子,一个帖子或者nil.在编写处理结果的方法时,最简单的假设该方法将采用一个数组,该数组可能包含零个,一个或多个元素.示例方法:
current_user.posts.inject(true) {|result, element| result and (element.some_boolean_condition)}
Run Code Online (Sandbox Code Playgroud) 不确定这是zsh,iterm2还是它们之间的交互.试图更改终端中可重复使用行的数量 - 而不是命令历史记录,输出历史记录.
在.zshrc我有:
HISTFILE=~/.histfile
HISTSIZE=100000
SAVEHIST=100000
Run Code Online (Sandbox Code Playgroud)
这似乎被忽略了=(
不确定谷歌的正确术语,"终端输出历史记录?"
将Ubuntu升级为Precise Pangolin(12.04),而Python的Random现已被破坏......我怀疑其他事情也可能被打破.我该如何修复Python?
File "/usr/lib/python2.7/random.py", line 47, in <module>
from os import urandom as _urandom
ImportError: cannot import name urandom
Run Code Online (Sandbox Code Playgroud)
唉,可怜的Python!我认识他,随机,一个无限玩笑的模块,最可能的混乱.他曾在他的randint()上忍受了我一千次,现在我的工作空间里有多憎恶!我的异常处理程序在它上升.
编辑在virtualenv中运行
The documentation is here: http://www.kernel.org/pub/software/scm/git/docs/git-mergetool.html A handy guide is here: http://ryanflorence.com/git-for-beginners/
However, neither of them explain how to use mergetool's filemerge.
我读到的指南说:" 我点击进入,FileMerge弹出,我处理冲突: "但它没有提到如何 " 处理冲突 ".
当我跑:
git mergetool
Run Code Online (Sandbox Code Playgroud)
:然后按提示点击返回,并打开filemerge窗口显示所有合并冲突,它只响应命令cmd + D和cmd + shift + D(允许循环冲突).但是,似乎没有提到如何为每次冲突选择左/右/两者.组合框下拉列表似乎没有做任何事情.
已经查看了文档,指南,文件系统菜单,以及系统按下键盘上的键寻找响应=)
在tmux手册页上,我没有找到它如何命名键的参考.
例如,要发送ctrl+ r到tmux,您可以:
tmux send-keys C-r
Run Code Online (Sandbox Code Playgroud)
并发送esc你做的钥匙
tmux send-keys Escape
Run Code Online (Sandbox Code Playgroud)
是否有一个列表将键盘键映射到tmux sendkeys如何命名它们?我有一种感觉,我错过了一个备忘录,它使用了一些长期被遗忘的程序的语法以方便起见.
注意,这与键绑定无关.
bundle install
失败了 Make sure that `gem install therubyracer -v '0.12.1'` succeeds before bundling
gem install therubyracer -v '0.12.1'
失败,似乎与编译有关的错误
在此之前,libv8 gem存在问题,但现在由于以下SO帖子而安装.
由于El Capitan的变化,为小牛队修复红宝石的指南似乎不起作用?
ln: /usr/bin/cpp: Operation not permitted
Run Code Online (Sandbox Code Playgroud) 推荐链:
它被报告为bootstrap-rails gem的一个问题:https://github.com/anjlab/bootstrap-rails/issues/91
宝石
gem 'sass-rails', '>= 3.2' # sass-rails needs to be higher than 3.2
gem 'bootstrap-sass', '~> 3.1.1'
Run Code Online (Sandbox Code Playgroud)
安装(在资产组的外部和内部尝试),application.css.scss包含
@import "bootstrap";
Run Code Online (Sandbox Code Playgroud)
只要.
尝试bundle exec rake assets:precompile
时会出现此错误:
rake aborted!
Undefined variable: "$alert-padding".
(in /home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/bootstrap-sass-3.1.1.0/vendor/assets/stylesheets/bootstrap/_alerts.scss)
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/bootstrap-sass-3.1.1.0/vendor/assets/stylesheets/bootstrap/_alerts.scss:10
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/script/variable.rb:49:in `_perform'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/script/node.rb:40:in `perform'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:298:in `visit_prop'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:37:in `visit'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:100:in `visit'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:53:in `block in visit_children'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:53:in `map'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/base.rb:53:in `visit_children'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:121:in `with_environment'
/home/joe/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sass-3.2.7/lib/sass/tree/visitors/perform.rb:108:in `visit_children' …
Run Code Online (Sandbox Code Playgroud) Pyglet使用AVBin来解码MP3.链接:http://avbin.github.com/AVbin/Download.html
使用install.sh安装,使用时会导致错误:
'AVbin is required to decode compressed media')
pyglet.media.riff.WAVEFormatException: AVbin is required to decode compressed media
Run Code Online (Sandbox Code Playgroud)
...所以它安装不正确?使用python virtualenv,怀疑这可能会导致问题...虽然我在virtualenv中运行了AVBin的install.sh,如下所示:
(SoundShenanigans)user@computer:~/Downloads/avbin-linux-x86-64-v8$ sudo bash install.sh
Run Code Online (Sandbox Code Playgroud)
UPDATE
我找到了安装avbin的地方......似乎安装在正确的位置= S.
~/pyvien/SoundShenanigans/lib/python2.7/site-packages/pyglet/media$ ls
avbin.py drivers __init__.pyc procedural.pyc riff.pyc
avbin.pyc __init__.py procedural.py riff.py
Run Code Online (Sandbox Code Playgroud)
更新2
该库是.so,而不是.dylib,为什么你想要.dylib神秘的代码?这是Linux而不是Mac(Mac有.dylib,Ubuntu有.so)
File "SoundShenanigans.py", line 4, in
from pyglet.media import avbin
File "/home/user/pyvien/SoundShenanigans/local/lib/python2.7/site-packages/pyglet/media/avbin.py", line 53, in
darwin='/usr/local/lib/libavbin.dylib')
File "/home/user/pyvien/SoundShenanigans/local/lib/python2.7/site-packages/pyglet/lib.py", line 122, in load_library
raise ImportError('Library "%s" not found.' % names[0])
ImportError: Library "avbin" not found.
Run Code Online (Sandbox Code Playgroud) 以下是列表数据.
Code ItemCount Type Amount
----------------------------------------
B001 1 Dell 10.00
B001 1 Dell 10.00
B001 1 Apple 10.00
B001 2 Apple 20.00
B001 2 Apple 20.00
B114 1 Apple 30.50
B114 1 Apple 10.00
Run Code Online (Sandbox Code Playgroud)
我需要一个结果按代码分类,按类型和总数分组ItemCount
,得到Amount
每一行的总计.
这可能吗?
Code ItemCount Type Amount
----------------------------------------
B001 2 Dell 20.00
B001 5 Apple 50.00
B114 2 Apple 40.50
Run Code Online (Sandbox Code Playgroud)