小编Tom*_*Tom的帖子

如何在不在Python中创建中间列表的情况下拆分字符串并重新加入?

说我有以下内容:

dest = "\n".join( [line for line in src.split("\n") if line[:1]!="#"] )
Run Code Online (Sandbox Code Playgroud)

(即从多行字符串中删除以#开头的所有行src)

src是非常大的,所以我假设.split()将创建一个大的中间列表.我可以将列表理解更改为生成器表达式,但是我可以使用某种"xsplit"一次只能在一行上工作吗?我的假设是否正确?处理这个问题的最有效(内存)方法是什么?

澄清:这是由于我的代码内存不足造成的.我知道有一些方法可以完全重写我的代码来解决这个问题,但问题是关于Python:是否有一个版本的split()(或一个等效的习惯用法),它的行为类似于生成器,因此无法进行额外的工作副本src

python string iterator generator

9
推荐指数
2
解决办法
1289
查看次数

如何在Ubuntu 10.10上安装Ruby on Rails 3.0?

安装Ruby和Ruby Gems之后:

$ sudo apt-get install ruby rubygems
...
$ ruby -v
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]
$ gem -v
1.3.7
Run Code Online (Sandbox Code Playgroud)

如果我尝试安装Rails,我会收到一个错误,即使它似乎只是文档,rails也没有安装:

$ sudo gem install rails
...
Successfully installed rails-3.0.1
24 gems installed
... 
Installing ri documentation for builder-2.1.2...
ERROR:  While generating documentation for builder-2.1.2
... MESSAGE:   Unhandled special: Special: type=17, text="<!-- HI -->"
... RDOC args: --ri --op /var/lib/gems/1.8/doc/builder-2.1.2/ri --title Builder -- Easy XML Building --main README --line-numbers --quiet lib CHANGES Rakefile README doc/releases/builder-1.2.4.rdoc doc/releases/builder-2.0.0.rdoc …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems ruby-on-rails

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

什么是一个很好的Python库来操纵视频文件的帧?

我正在寻找一个类似于PIL的Python视频处理库,我可以遍历源视频的所有帧,访问每个帧的像素数据,绘制到每个帧并将结果保存为新的视频文件.

我发现了几个类似的问题,但它们现在已经很老了:

他们推荐PyMediaPyFFMPEG.PyMedia似乎已经过时了(但可能仍然有效?)和PyFFMPEG,而最近几乎没有文档.

我没有运气在Ubuntu 10.10上安装这些,在我按下之前,有:

a)我应该看一个更好的图书馆?

b)关于如何启动和运行其中任何一个的良好说明?

python video video-processing

7
推荐指数
1
解决办法
4597
查看次数

对二进制2D矩阵进行排序?

我在这里寻找一些指示,因为我不知道从哪里开始研究这个.

我有一个2D矩阵,每个单元格中有0或1,例如:

  1 2 3 4
A 0 1 1 0
B 1 1 1 0
C 0 1 0 0
D 1 1 0 0
Run Code Online (Sandbox Code Playgroud)

而且我想对它进行排序,使其尽可能为"上三角形",如下所示:

  4 3 1 2
B 0 1 1 1
A 0 1 0 1
D 0 0 1 1
C 0 0 0 1
Run Code Online (Sandbox Code Playgroud)

行和列必须保持完整,即元素不能单独移动,只能"整体"交换.

我知道可能存在一种病态情况,其中矩阵具有多个可能的排序结果(即相同的形状,但"原始"行/列的标识不同.)

那么,任何人都可以建议我在哪里找到一些起点吗?现有的库/算法会很棒,但我会知道我想要解决的问题的名称!

我怀疑这是一个线性代数问题,也许有一种适用的图像处理技术.

除了任何其他想法之外,我最初的猜测只是在行上写一个简单的插入排序,然后对列进行迭代并迭代它直到它稳定(并希望检测病理情况不太难.)

更多细节:关于我正在尝试做的更多信息可能有助于澄清.每行代表一个竞争者,每列代表一个挑战.每个1或0代表竞争对手在特定挑战中的"成功".

通过对矩阵进行排序以使所有1都在右上方,我希望然后提供每个挑战的内在难度和竞争者排名的排名(这将考虑他们成功的挑战的难度,而不是只是成功的数量.)

关于已接受答案的注意事项:我已接受模拟退火作为"答案",但需要注意的是这个问题没有正确答案.这似乎是一个很好的方法,虽然我实际上没有设法得到一个适合我的问题的评分功能.

sorting algorithm matrix

6
推荐指数
1
解决办法
2566
查看次数

使用MysqlDb时出现Python错误 - 不推荐使用sets模块

我每次运行使用MySQLdb的Python脚本时都会收到警告:

/var/lib/python-support/python2.6/MySQLdb/__init__.py:34:
DeprecationWarning: the sets module is deprecated
  from sets import ImmutableSet
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我宁可不要乱用他们的lib.我在Ubuntu服务器上.任何人都知道一个简单的方法来修复该警告信息?

谢谢

更新:根据以下建议和此链接修复它:https://bugzilla.redhat.com/show_bug.cgi?id = 505611

import warnings
warnings.filterwarnings('ignore', '.*the sets module is deprecated.*',
                        DeprecationWarning, 'MySQLdb')
import MySQLdb
Run Code Online (Sandbox Code Playgroud)

python mysql

6
推荐指数
1
解决办法
2845
查看次数

如何在Google地图PolyLine叠加层上检测点击事件?

在我看来,我应该能够执行以下操作来检测谷歌地图上一行上的点击事件:

var line = new GPolyline( ... );
map.addOverlay(line);
GEvent.addListener(line, "click", function(latlng){ alert("clicked"); });
Run Code Online (Sandbox Code Playgroud)

API参考说这是在2.88版本中,这是在2007年(!?)发布可用,所以我假定这就是我使用的是什么,但我不知道如何来确认.

我也尝试{clickable:true}明确设置选项(它应该是默认选项.)我已经在FireFox 3和Opera 9.6中测试过,所以怀疑它是否与浏览器有关.我也在页面上使用jQuery.

我有足够的代码检测标记上的点击工作正常,点击线条会非常好,任何人都可以开导我吗?

javascript google-maps

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

如何使用 Python 从文本中提取一列?

我是python编程的新手。通过在互联网上搜索 python 文档来编写此脚本。

任何人都可以帮助我仅将第二列作为“ps aux”命令的输出(即仅 PID 列)。

#script to print the processid
import os
import commands
out=commands.getoutput('ps aux') # to get the process listing in out
#print out
#print out[2] #print only second column from out
print out[:2] 

output of "print out" statement
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0   5728  1068 ?        Ss   Oct13   0:07 /sbin/init
root         2  0.0  0.0      0     0 ?        S<   Oct13   0:00 [kthreadd]
root         3  0.0  0.0 …
Run Code Online (Sandbox Code Playgroud)

python

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

有没有办法在emacs中的单引号和双引号之间切换字符串?

我正在寻找一个emacs命令,它将在点下的字符串上切换周围的引号字符,例如将光标放在字符串'bar'中,点击一个键并在以下之间进行更改:

foo = 'bar'   <--->   foo = "bar"
Run Code Online (Sandbox Code Playgroud)

对于奖励积分,它会:

  • 处理切换Python三引号字符串('''<---> """)

  • 根据需要自动更改字符串内部的反斜杠.

例如

foo = 'bar "quote"'   <--->   foo = "bar \"quote\""
Run Code Online (Sandbox Code Playgroud)

emacs

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

将斜杠末尾添加到pathlib目录的最佳方法是什么?

我有一个目录,我想用斜杠将其打印出来: my_path = pathlib.Path('abc/def')

有没有比这更好的方法os.path.join(str(my_path), '')呢?

python pathlib

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

为什么Firefox在JavaScript代码中从IMG src请求伪造的URL?

我在以下网址上的网站上出现了奇怪的404错误:

GET /%27%20+%20item.icon%20+%20%27 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

我的HTML文件中有一些相应的代码:

<script type="text/javascript">
  function foo(item) {
     return '<img src="' + item.icon + '">' : '';
  }
</script>
Run Code Online (Sandbox Code Playgroud)

似乎只能在Windows上使用FireFox 3.5/3.6,但我无法保证.

那么,为什么FF会请求这个URL?它是在尝试预加载图像吗?有关如何阻止它的任何建议?

javascript browser firefox

4
推荐指数
1
解决办法
222
查看次数

Django模板语法错误

以下代码中的语法是否有任何问题,有一个错误 Invalid block tag: 'else'

{% ifequal chat_profile 1 %}
    {% extends "chatprofile/chat_profile1.html" %}
{% else %}
    {% extends "chatprofile/chat_profile.html" %}
{% endifequal %}
Run Code Online (Sandbox Code Playgroud)

django django-templates django-models django-views

4
推荐指数
1
解决办法
3137
查看次数

如何在Ubuntu中的终端中自动运行应用程序?

autorun在各种USB设备上创建了一些脚本文件,这些设备bash在安装时运行脚本.这些脚本"在后台运行",如何让它们在终端窗口中运行?(就像"终端中的应用程序"gnome Launcher类型.)

bash ubuntu gnome autorun

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

查找字谜JavaScript jQuery

让我说我有一个像这样的列表

狗dOg上帝狗狗狗斑马木头

我想要做的是查找列表中的所有单词,无论是否大小写,或者无论实际单词如何.我想匹配这些字母并计算一下.从上面来说

狗,dOg,上帝都会成为一个匹配,在这种情况下会返回"3"作为计数,但是狗,狗,斑马,木头..都将是独一无二的,所有人都将返回1作为计数..虽然我知道这是可能的我不知道从哪里开始.anagram概念让我有点失望.有任何想法吗?

javascript string jquery anagram

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