如何合并元组或将列表转换为元组?

1 投票
4 回答
863 浏览
提问于 2025-04-16 22:19

我有一个叫做INSTALLED_APPS的元组,我想把一些额外的项目合并到里面,这样我本地的应用程序也能包含在这个元组里,而不想去改动主设置文件。我已经做到这一步:

DEFAULT_APPS = list(INSTALLED_APPS)
MY_APPS_LIST = DEFAULT_APPS.append('south')

但是如果我尝试通过运行以下代码再把它转换成元组:

INSTALLED_APPS = tuple(MY_APPS_LIST)

我得到的结果是:

TypeError: 'NoneType' object is not iterable

这个问题我觉得挺基础的,但我找不到“正确”的方法,甚至没有任何对我有效的方法……我发现,在Django的命令行中,list()和tuple()都返回一个空的对象,所以我不明白TypeError是从哪里来的……

希望能得到帮助!

4 个回答

3

注意,可以用 + 来连接元组,所以如果 INSTALLED_APPS 是一个元组的话:

INSTALLED_APPS = DEFAULT_APPS + ('south',)

INSTALLED_APPS 的最后一个元素将会是 'south'

3

list 方法是直接在原来的列表上进行操作的,所以它们返回的是 None。如果你想在已有的列表中添加一个新元素,并且只想得到结果,那就直接把它加上去就行了。

MY_APPS_LIST = DEFAULT_APPS + ['south']
8

append这个方法不会返回一个新的列表,它是直接修改原来的列表,并且返回的是None。如果你想要创建一个新的列表,可以用MY_APPS_LIST = DEFAULT_APPS + ['south']这样的方式。

撰写回答