在 Python 中追加列表

Posted

技术标签:

【中文标题】在 Python 中追加列表【英文标题】:Append list in Python 【发布时间】:2014-07-01 16:17:04 【问题描述】:

我需要先创建一个空列表,然后插入一个元素并将其保存到磁盘。然后再次从磁盘读取列表并将另一个元素附加到列表中,然后再次将列表保存到磁盘,然后再次读取列表并保存另一个元素以供进一步操作等等。我当前的代码:

import pickle
emptyList = [] # create empty list
x = 'john' #this data is coming from client, so will change on each server call
emptyList.append(x) # append element
with open('createList.txt', 'wb') as f: # write to file
      pickle.dump(emptyList, f)
with open('createList.txt', 'rb') as f: # read from file
      my_list = pickle.load(f)
print my_list # print updated list

现在我得到的是这样的更新列表:

#if x = 'john' then I get
['john']
#if x = 'george' then I get
['george']
#if x = 'mary' then I get
['mary']
# ..... and so on

我想要的是附加元素,如下所示:

['john','george','mary',....] 

【问题讨论】:

【参考方案1】:

改变一下

emptyList = [] # create empty list

emptyList = [] if not os.path.exists("createList.txt") else pickle.load(open("createList.txt"))

这样,如果您的列表已经存在,您将加载它......尽管它不再是“emptyList”

【讨论】:

以上是关于在 Python 中追加列表的主要内容,如果未能解决你的问题,请参考以下文章

Python为啥向二维列表中追加元素后所有元素都变一样了

当python中所有列表的所有维度都未知时,在列表列表中追加项目

在 Python 中追加到列表时出现内存错误

Python列表怎么追加列表?

Python - 追加到嵌套在 dict 子类中的列表

python列表操作:追加元素到列表的代码