相关疑难解决方法(0)

如何使用pycassa获取存储在Cassandra列族中的所有密钥?

有没有经验与pycassa合作的人我对它有疑问.如何获取存储在数据库中的所有密钥?

好吧,在这个小片段中,我们需要给出键以获得相关的列(这里的键是'foo'和'bar'),这很好,但我的要求是一次获取所有键(仅键)作为Python列表或类似的数据结构.

cf.multiget(['foo', 'bar'])
{'foo': {'column1': 'val2'}, 'bar': {'column1': 'val3', 'column2': 'val4'}}
Run Code Online (Sandbox Code Playgroud)

谢谢.

python cassandra pycassa

6
推荐指数
2
解决办法
7587
查看次数

所有(列表)都使用短路评估吗?

我希望使用Python all()函数来帮助我计算某些东西,但是如果all()它没有在它命中时就进行评估,那么这个东西可能会花费更长的时间False.我想它可能是短路评估,但我只是想确定.另外,有没有办法告诉Python如何评估函数?

python evaluation short-circuiting

6
推荐指数
2
解决办法
1687
查看次数

Python 3.x 列表推导 VS 元组生成器

是否有任何我想使用的内存、速度或其他原因:

tuple(i for i in range(5000))
Run Code Online (Sandbox Code Playgroud)

代替:

[i for i in range(5000)]
Run Code Online (Sandbox Code Playgroud)

如果我不介意元组的不变性

python performance list generator python-3.x

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

列表理解返回“生成器对象...”

我正在尝试从字典中简洁地创建一个列表。

\n\n

以下代码有效:

\n\n
def main():\n    newsapi = NewsApiClient(api_key=API_KEY)\n    top_headlines = newsapi.get_everything(q="Merkel",language="en")\n    news = json.dumps(top_headlines)\n    news = json.loads(news)\n    articles = []\n    for i in news[\'articles\']:\n        articles.append(i[\'title\'])\n    print(articles)\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n
[\'Merkel \xe2\x80\x9cHelix Suppressor\xe2\x80\x9d Rifle and Merkel Suppressors\', \'Angela Merkel\', \n \'Merkel says Europe should do more to stop Syria war - Reuters\', \n \'Merkel says Europe should do more to stop Syria war - Reuters\', \n \'Merkel muss weg! Merkel has to go! Demonstrations in Hamburg\', ... , \n "Bruised …
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

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

元组的平均值

我有一个字典:

{"a":(1, 0.1) , "b":(2, 0.2) , ...}
Run Code Online (Sandbox Code Playgroud)

每个括号都是一个元组,对应于(分数,标准差).如何获取每个元组中第一个整数的平均值?我试过这个:

for word in d:
    (score, std) = d[word]
    d[word]=float(score),float(std)
    if word in string:
        number = len(string)
        v = sum(score)
        return (v) / number
Run Code Online (Sandbox Code Playgroud)

得到此错误:

    v = sum(score)
TypeError: 'int' object is not iterable
Run Code Online (Sandbox Code Playgroud)

python dictionary tuples average list

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

生成器与列表理解

我有一些东西,当作为列表理解运行时,运行正常.

看起来像,

[myClass().Function(things) for things in biggerThing]
Run Code Online (Sandbox Code Playgroud)

Function是一种方法,它构建一个列表.该方法本身不返回任何内容,但列表在其中被操纵.

现在,当我将其更改为发电机时,

(myClass().Function(things) for things in biggerThing)
Run Code Online (Sandbox Code Playgroud)

它不像我期望的那样操纵数据.事实上,它似乎根本没有操纵它.

列表推导生成器之间的功能区别是什么?

python list-comprehension generator

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

查找字符串中的最短单词

我是编码的新手,我正在研究一个问题,要求在一个句子中找到最短的单词.我很困惑之间的区别是什么:

def find_short(s):
    for x in s.split():
        return min(len(x)) 
Run Code Online (Sandbox Code Playgroud)

def find_short(s):
    return min(len(x) for x in s.split())
Run Code Online (Sandbox Code Playgroud)

是的,因为前者给了我一个错误,后者似乎工作正常.它们几乎不是一回事吗?

python

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

如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

Stack Overflow 上有很多关于这个一般主题的问答,但它们要么质量很差(通常是初学者的调试问题暗示的),要么以其他方式错过了目标(通常是不够通用)。至少有两种极其常见的方法会使幼稚的代码出错,初学者从关于循环的规范中获益更多,而不是从将问题作为拼写错误或关于打印所需内容的规范中获益。所以这是我尝试将所有相关信息放在同一个地方。

假设我有一些简单的代码,可以对一个值进行计算x并将其分配给y

y = x + 1

# Or it could be in a function:
def calc_y(an_x):
    return an_x + 1
Run Code Online (Sandbox Code Playgroud)

现在我想重复计算 的许多可能值x。我知道for如果我已经有要使用的值列表(或其他序列),我可以使用循环:

xs = [1, 3, 5]
for x in xs:
    y = x + 1
Run Code Online (Sandbox Code Playgroud)

while或者,如果有其他逻辑来计算值序列,我可以使用循环x

def next_collatz(value):
    if value % 2 == 0:
        return value // 2
    else:
        return 3 * value + 1

def collatz_from_19():
    x = 19
    while x != 1:
        x …
Run Code Online (Sandbox Code Playgroud)

python iteration list-comprehension

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

迭代生成器和列表之间的速度差异

在下面的简单示例中,有两个函数可以对随机数列表进行排序.第一种方法传递sorted生成器表达式,第二种方法首先创建一个列表:

import random
l = [int(1000*random.random()) for i in xrange(10*6)]

def sort_with_generator():
    return sorted(a for a in l)

def sort_with_list():
    return sorted([a for a in l])
Run Code Online (Sandbox Code Playgroud)

使用行分析器进行基准测试表明第二个选项(sort_with_list)的速度大约是生成器表达式的两倍.

任何人都可以解释发生了什么,为什么第一种方法比第二种方法慢得多?

python performance generator

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

在 Python 中的列表列表中删除重复的列表

我在这里看到了一些非常相关的问题,但他们的回答对我不起作用。我有一个列表列表,其中一些子列表是重复的,但它们的元素可能是无序的。例如

g = [[1, 2, 3], [3, 2, 1], [1, 3, 2], [9, 0, 1], [4, 3, 2]]

根据我的问题,输出应该是:

g = [[1,2,3],[9,0,1],[4,3,2]]

我已经尝试过,set但只删除了那些相等的列表(我认为它应该可以工作,因为集合的定义是没有顺序的)。我访问过的其他问题只有列表完全重复或重复的示例,如下所示:Python:如何删除列表列表中的重复列表?. 现在输出顺序(对于列表和子列表)不是问题。

python list set python-2.7

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