小编Tro*_*ors的帖子

在 CentOS 上为 Python 升级 Sqlite3 版本时出现问题

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 没有卸载)。 改变 LD_LIBRARY_PATH

注意:我有多个 python3 版本。

在此处输入图片说明

我能做些什么来解决这个问题?

python linux sqlite centos python-3.x

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

不应将False视为0

我必须遍历包含随机值的列表

["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]

python python-3.x

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

将列表值分配给字典键

所以我想同时循环一个字典和一个列表而不嵌套它们.我真正的意思是:

for i,c in enumerate(dictionary) and for k in range(len(list)):
       dictionary[c] = list[k]
Run Code Online (Sandbox Code Playgroud)

所以它基本上循环遍历一个字典,我可以用列表为字典赋值.

python python-3.6

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

标签 统计

python ×3

python-3.x ×2

centos ×1

linux ×1

python-3.6 ×1

sqlite ×1