我CentOS 6在我的系统上,我正在尝试为 Python 更新 SQLite。我已经从源代码安装它并按预期执行sqlite --version返回版本3.33.0。
但是,当我尝试使用检查 python SQLite 版本时,import sqlite3; sqlite3.sqlite_version;我仍然得到以前的 SQLite 版本3.6.20。
Software Locations:
Python 3.6.9 - /usr/bin/python3
Sqlite3 - /usr/bin/sqlite3
Run Code Online (Sandbox Code Playgroud)
我在这里尝试了解决方案,这根本不起作用,在更新LD_LIBRARY_PATH并检查 python SQLite 版本后,它仍然给出“3.6.20”,在这里,当我尝试时sudo LD_RUN_PATH=,它给了我错误No such file or directory,但是当我执行它时没有 sudo LD_RUN_PATH=,它成功编译但仍然给我 SQLite '3.6.20' (编译 python 没有卸载)。

注意:我有多个 python3 版本。
我能做些什么来解决这个问题?
我必须遍历包含随机值的列表
["a",0,0,"b",None,"c","d",0,1,False,0,1,0,3,[],0,1,9,0,0,{},0,0,9]
Run Code Online (Sandbox Code Playgroud)
并将所有零(0)移动到列表的末尾,保留其他元素的顺序.这是我的代码:
for i in range(len(array)):
if array[i] ==0 and array[i] is not False:
array.append(array[i])
array.remove(array[i])
return array
Run Code Online (Sandbox Code Playgroud)
代码工作正常,但它将'False'视为0,因此输出与所需的输出不匹配.我已经尝试搜索答案并将其实现到我的代码中,例如使用'is'和'is not',但它们似乎并不适合我.我还可以做些什么?
我的输出:['a', 'b', None, 'c', 'd', 1, 1, 3, [], 1, 9, {}, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]但输出应该是['a', 'b', None, 'c', 'd', 1, False, 1, 3, [], 1, 9, {}, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
所以我想同时循环一个字典和一个列表而不嵌套它们.我真正的意思是:
for i,c in enumerate(dictionary) and for k in range(len(list)):
dictionary[c] = list[k]
Run Code Online (Sandbox Code Playgroud)
所以它基本上循环遍历一个字典,我可以用列表为字典赋值.