如何合并元组或将列表转换为元组?
我有一个叫做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']
这样的方式。