问题列表 - 第25704页

Python`如果x不是None`或`if not x is None`?

我一直认为if not x is None版本更清晰,但谷歌的风格指南PEP-8都使用if x is not None.是否存在任何轻微的性能差异(我假设没有),是否存在任何一个真正不合适的情况(使另一个成为我公约的明显赢家)?*

*我指的是任何单身人士,而不仅仅是None.

...比较像无的单身人士.使用是否.

python coding-style boolean-expression

687
推荐指数
7
解决办法
69万
查看次数

如何将shell命令应用于命令输出的每一行?

假设我有一些命令的输出(例如ls -1):

a
b
c
d
e
...
Run Code Online (Sandbox Code Playgroud)

我想echo依次对每个命令应用一个命令(比如说).例如

echo a
echo b
echo c
echo d
echo e
...
Run Code Online (Sandbox Code Playgroud)

在bash中最简单的方法是什么?

bash

177
推荐指数
6
解决办法
14万
查看次数

Haskell的图像绘制库?

我正在制作一个用于播放空间游戏的Haskell程序:我有一组"个人"玩囚徒困境的图表,但只有他们的近邻,并且复制了做得最好的人的策略.

我已达到了一个我需要画出世界形象的地步,这就是我遇到问题的地方.两种可能的几何形状很容易:如果人们每个都有四个或八个邻居,那么我将每个几何表示为一个填充的正方形(颜色对应于策略)并用这些对齐平面.但是,我也有一种情况,人们有六个邻居(六边形)或三个邻居(三角形).

那么我的问题是:什么是用于创建图像和在其上绘制形状的好Haskell库? 我更喜欢它创造PNG,但我并不难以置信.我最初使用的是Graphics.GD,但它只导出绑定到绘制点,线,弧,椭圆和非旋转矩形的函数,这对我的目的来说是不够的(除非我想逐个像素地绘制六边形*) .我考虑使用foreign import,但它证明有点麻烦(部分原因是多边形绘制函数需要一个gdPoint结构数组),并且鉴于我的要求可能会增长,使用in-Haskell解决方案并不具备与FFI相关(虽然如果推动推动,我愿意这样做).有什么建议?

*这也是一种选择,其实; 关于如何做到这一点的任何提示也会受到赞赏,尽管我认为图书馆会更容易.

编辑:非常感谢您的建议.不幸的是,我无法获得所有gtk2hs所需的库来构建,这排除了很多解决方案.出于各种原因,在我尝试了所有答案之后,未能安装多个库并发现其他人无法做我想要的事情,我最终决定只为libgd导出更多的FFI并使用它.

graphics haskell image

23
推荐指数
4
解决办法
7226
查看次数

基本递归,检查平衡括号

我以前编写的软件使用堆栈来检查平衡方程,但现在我被要求递归地编写一个类似的算法来检查正确的嵌套括号和括号.

好例子:()[]()([]()[])

不好的例子:((]([)]

假设我的函数被调用:isBalanced.

每次传递都应该评估一个较小的子串(直到达到2的基本情况)?或者,我应该总是评估完整的字符串并向内移动索引吗?

algorithm recursion stack

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

如何编写PyQt中的Image按钮?

我试图做简单的音频播放器,但我想用图像(图标)作为按钮.

python qt pyqt pyqt4

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

python多线程"最大递归深度超过"

我使用Python多线程来实现Quicksort.Quicksort是在函数中实现的.它是一个递归函数.每个线程调用Quicksort对它拥有的数组进行排序.每个线程都有自己的数组,用于存储需要排序的数字.如果数组大小较小(<10,000).它运行正常.但是,如果数组大小较大,则显示"最大递归深度超过".所以,我使用setrecursionlimit()函数将递归深度重置为1500.但程序直接崩溃...以下是quicksort代码.如果不在多线程环境中,它可以很好地工作.似乎多线程是递归深度问题的原因.

def partition (array, p, r):
    x = array[r]
    i = (p-1)
    j = p
    while (1):
        if array[j] <= x:
            i = (i+1)
            temp = array[j]
            array[j] = array[i]
            array[i] = temp
        j+=1
        if j == r:
            break
    temp = array[i+1]
    array[i+1] = array[r]
    array[r] = temp
    return i+1

def quicksort (array, p, r):
    if p < r:
        q = partition (array, p, r)
        quicksort (array, p, q-1)
        quicksort (array, q+1, r)
Run Code Online (Sandbox Code Playgroud)

python recursion multithreading depth

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

在视图中使用临时表

我真的想创建一个视图.

我知道你不能在MSSQL2005视图中使用临时表.没有重写sql,有什么明显的我错过了吗?

备份计划是使用存储过程.

干杯

select * into #temp from vwIncidents 

SELECT     vwIncidents.incidentcode, employeecode, EMPOS.POS_L4_CDA as areaAtTimeOfIncident
into #temp1
FROM         vwIncidents 
INNER JOIN EMPOS ON vwIncidents.employeecode = EMPOS.DET_NUMBERA 
WHERE    EMPOS.POS_STARTC <  vwIncidents.incidentdate
AND      (EMPOS.POS_ENDD > vwIncidents.incidentdate OR EMPOS.POS_ENDD IS NULL)
order by incidentcode

select #temp.*, #temp1.areaAtTimeOfIncident from #temp
left outer join #temp1 on #temp.incidentcode = #temp1.incidentcode 
and #temp.employeecode = #temp1.employeecode
order by incidentcode
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

为什么Linux不通过TSS使用硬件上下文切换?

我读了以下声明:

x86架构包括称为任务状态段(TSS)的特定段类型,用于存储硬件上下文.尽管Linux不使用硬件上下文切换,但它仍然被迫为系统中的每个不同CPU设置TSS.

我想知道:

  • 为什么Linux不使用硬件支持进行上下文切换?
  • 硬件方法不是比软件方法快得多吗?
  • 是否有任何操作系统可以利用硬件上下文切换?Windows使用它吗?

最后一如既往,感谢您的耐心和回复.

- - - - - -添加 - - - - - - -

http://wiki.osdev.org/Context_Switching得到了一些解释.

像我这样迷茫的人可以看看它.8 ^)

linux x86 low-level linux-kernel

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

片段着色器眼空间未缩放的深度坐标

我正在尝试使用GLSL片段着色器中场景中对象的未缩放距离(与前裁剪平面的真实距离)。gl_FragCoord.z值比我预期的要小。在我的顶点着色器中,我仅使用ftransform()设置gl_Position。我期望2到3之间的值在15到20之间。

如何获得真实的眼空间深度?谢谢!

opengl glsl fragment-shader

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

会话已启用 - 我们是否必须自行清理它们?

当我们在谷歌应用引擎中开启会话时:

// appengine-web.xml
<sessions-enabled>true</sessions-enabled>
Run Code Online (Sandbox Code Playgroud)

app引擎会自动清理过期的会话,还是我们必须自己完成?打开它们之后,我在数据存储区看到一些条目正在生成,就像_ah_session一样,我想知道这些是不是?

谢谢

google-app-engine

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