小编Bas*_*ard的帖子

单行检查迭代器是否产生至少一个元素?

目前我这样做:

try:
    something = iterator.next()
    # ...
except StopIteration:
    # ...
Run Code Online (Sandbox Code Playgroud)

但我想要一个表达式,我可以放在一个简单的if陈述中.是否有任何内置功能可以使这些代码看起来不那么笨拙?

any()False如果iterable为空,则返回,但如果不是,则可能会迭代所有项.我只需要它来检查第一项.


有人问我要做什么.我编写了一个执行SQL查询并生成结果的函数.有时当我调用此函数时,我只想知道查询是否返回任何内容并根据它做出决定.

python iterator

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

Python:排序列表字典

还在学习python(最后!)并且还不能完全绕过这个.我想要做的是使用列表中的第三项按值对列表进行排序.当值只是一个数字或字符串时,按值排序字典很容易,但是这个列表让我感到困惑.

例:

myDict = { 'item1' : [ 7, 1, 9], 'item2' : [8, 2, 3], 'item3' : [ 9, 3, 11 ] }
Run Code Online (Sandbox Code Playgroud)

我希望能够按照每个列表中的第三个值的顺序遍历字典,在本例中为9,3,11.

非常感谢您的帮助!

python sorting dictionary list

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

何时使用malloc作为char指针

我特别关注何时在char指针上使用malloc

char *ptr;
ptr = "something";
...code...
...code...
ptr = "something else";
Run Code Online (Sandbox Code Playgroud)

malloc是否会为了这个微不足道的东西?如果是,为什么?如果没有,那么什么时候需要char指针?

c malloc pointers char

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

编译时__FILE__宏操作处理

我在将一些东西从Solaris移植到Linux时遇到的一个问题是Solaris编译器__FILE__在预处理过程中将宏扩展为文件名(例如MyFile.cpp),而Linux上的gcc扩展到完整路径(例如/ home /用户/ MYFILE.CPP).使用basename()可以很容易地解决这个问题但是......如果你经常使用它,那么对basename()的所有调用都必须加起来,对吧?

这是问题所在.有没有办法使用模板和静态元编程,在编译时运行basename()或类似的?由于它__FILE__是常量且在编译时已知,因此可能更容易.你怎么看?可以吗?

c c++ templates metaprogramming

23
推荐指数
7
解决办法
9474
查看次数

Python套接字缓冲

假设我想使用标准socket模块从套接字读取一行:

def read_line(s):
    ret = ''

    while True:
        c = s.recv(1)

        if c == '\n' or c == '':
            break
        else:
            ret += c

    return ret
Run Code Online (Sandbox Code Playgroud)

究竟发生了s.recv(1)什么?它每次都会发出系统调用吗?我想我应该添加一些缓冲,无论如何:

为了最好地匹配硬件和网络现实,bufsize的值应该是2的相对较小的幂,例如4096.

http://docs.python.org/library/socket.html#socket.socket.recv

但是编写高效且线程安全的缓冲似乎并不容易.如果我使用file.readline()怎么办?

# does this work well, is it efficiently buffered?
s.makefile().readline()
Run Code Online (Sandbox Code Playgroud)

python sockets buffering

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

如何在红宝石中设置Prawn的边距?

这是我到目前为止,但我需要设置边距:

def send_fax 
    contact = Contact.find_by_id(self.contact_id)

    pdf = Prawn::Document.new
    pdf.font "Times-Roman"
    pdf.move_down(20)
    pdf.text "ATTN: #{contact.first_name} #{contact.last_name}", :size => , :style => :bold
    pdf.text "RE: #{self.subject}"
    pdf.move_down(20)

    pdf.text "#{self.body}"

    OutboundMailer.deliver_fax_email(contact, self, pdf)

  end
Run Code Online (Sandbox Code Playgroud)

pdf-generation ruby-on-rails prawn

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

活动退出动画在Android 4.0上无法正常工作

我有一个主题可以更改活动的打开/关闭/进入/退出动画:

<style name="down_up_theme" parent="Theme.rtlfr">
    <item name="android:windowAnimationStyle">@style/down_up_animation</item>
</style>

<style name="down_up_animation" parent="@android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/slide_in_top</item>
    <item name="android:activityOpenExitAnimation">@anim/hold</item>
    <item name="android:activityCloseEnterAnimation">@anim/hold</item>
    <item name="android:activityCloseExitAnimation">@anim/slide_out_bottom</item>
</style>
Run Code Online (Sandbox Code Playgroud)

在清单中:

<activity android:name=".activity.ArticlesActivity"
        android:theme="@style/down_up_theme" />
Run Code Online (Sandbox Code Playgroud)

目标是使活动内容在开始时向下滑动,在退出时向上滑动.

动画在2.3上运行良好.但是,在4.0上,退出动画(向上滑动)不起作用.动画的作用是关闭从此活动中产生的活动.在我的例子中,我想用文章列表来动画关闭活动,而不是关闭文章细节有滑动动画.

我想我可以尝试将结束动画添加到生成我想要动画的活动的活动中,但它实际上产生了应该具有不同动画的活动.我也找不到有关此文档中 2.3和4.0差异的任何信息.

如何让我的动画在4.0上运行?

animation android android-activity

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

参考列表的一部分 - Python

如果我在python中有一个列表,我如何创建对列表的一部分的引用?例如:

myList = ["*", "*", "*",  "*", "*", "*", "*", "*", "*"]

listPart = myList[0:7:3] #This makes a new list, which is not what I want

myList[0] = "1"

listPart[0]

"1"
Run Code Online (Sandbox Code Playgroud)

这是可能的,如果是这样,我将如何编码?

干杯,乔

python list

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

如何让Android文本视图看起来像被禁用?

我希望能够为任何文本视图提供与禁用它相同的方面.目前我正在使用一种继承TextAppearance并添加灰色文本颜色的样式,但我更喜欢使用内置的东西,它可以完美地与任何主题一起使用.

android styles

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

我如何在Scala中生成一个immutable.Map?

我试过这个,但它不起作用:

val map:Map[String,String] = for {
    tuple2 <- someList
  } yield tuple2._1 -> tuple2._2
Run Code Online (Sandbox Code Playgroud)

如何将Tuple2s列表转换为Map?

for-loop scala yield map immutability

10
推荐指数
4
解决办法
7657
查看次数