我不确定我是否缺少一些基本的编程规则或一些使用 PyCassa 的基本规则!
问题是: 我需要查询 cassandra 以显示具有值为 5 的 column5(列名称)的所有行。我可以在 for 循环内打印此结果,但不能在外部打印。 我当前的代码是:
expr2 = create_index_expression('column5', '5')
clause2 = create_index_clause([expr2], count=20)
for keyx, colx in col_fam.get_indexed_slices(clause):
print colx
这可行,但不起作用的是:
expr2 = create_index_expression('column5', '5')
clause2 = create_index_clause([expr2], count=20)
for keyx, colx in col_fam.get_indexed_slices(clause):
t = colx
# ...
print t
我确实理解某些人,这个问题可能听起来太 child 气了...但是相信我,从上周末开始我就一直在思考这个问题,现在当没有其他选择时,我就在 Stackoverflow 上!
最佳答案
在第一个示例中,每次迭代都会打印 t,这会为满足条件的每条记录生成一行。在第二个中,t 在每次迭代期间都会被替换,因此只打印最终值。如果您只想打印它,您可以缩进打印语句以使其成为循环的一部分,尽管第一个示例适用于此。如果您想将其保存在列表中,请创建一个列表并在每次迭代中将 colx 附加到其中:
expr2 = create_index_expression('column5', '5')
clause2 = create_index_clause([expr2], count=20)
t=[]
for keyx, colx in col_fam.get_indexed_slices(clause):
t.append(colx)
print t
关于python - Pycassa col_fam.get_indexed_slices(clause) 有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405056/