board balls win1 win2 result
----- ----- ---- ---- ------
1 1 0 0 1
4 1 0 0 1
1024 1 0 0 1
Run Code Online (Sandbox Code Playgroud)
当我们从表中仅选择一行但多列时,例如,通过使用:
connection = sqlite3.connect("spline.db")
crsr = connection.cursor()
crsr.execute("SELECT board FROM positions WHERE balls = 1")
result = crsr.fetchall()
print result
connection.close()
Run Code Online (Sandbox Code Playgroud)
结果是一个元组列表:
[(1,), (4,), (1024,)]
Run Code Online (Sandbox Code Playgroud)
有没有办法直接获取整数列表?一种方法是:
print [result[i][0] for i in range(len(result))]
Run Code Online (Sandbox Code Playgroud)
而不是:
print result
Run Code Online (Sandbox Code Playgroud)
但是每当结果集中有多达 10 7行时,我们就无法想象i像这样迭代变量,然后从中生成一个整数列表。因此,我想知道是否有任何其他替代解决方案可用,无论哪种解决方案都足够直接。
当实现棋盘游戏时,棋盘格可以处于三种可能的可用状态之一:True(第一玩家占用的小区),False(第二玩家占用的小区)或None(小区为空).
我的问题是:
为什么
not(True) == None
return True
Run Code Online (Sandbox Code Playgroud)
而实际上应该return False呢?
为什么呢
not(False) == None
return True
Run Code Online (Sandbox Code Playgroud)
而实际上应该return False呢?
这可能是Python中可能的错误,应该尽快向开发人员报告,其中包括其中的开发人员?
python boolean-logic boolean boolean-expression boolean-operations