簡體   English   中英

如何通過將字符串添加到現有列表而不更改 python 中的現有列表來創建新列表?

[英]How to create a new list by adding a string to existing list without changing the existing list in python?

我有一個列表和一個字符串,如下所示:

demo_list = [ 'rishi', 'john', 'mohan', 'sony' ]
demo_str = 'samsung' 

我想通過將 demo_str 插入 demo_list 而不修改 demo_list 來創建一個新列表。 我預期的 output 將是:

new_list = [ 'rishi', 'john', 'mohan', 'sony', 'samsung' ]
demo_list = [ 'rishi', 'john', 'mohan', 'sony' ] 

請注意,demo_list 保持原樣,通過連接 demo_list 和 demo_str 創建一個 new_list。 我可以使用“附加”來做到這一點,但這樣做時,demo_list 會被修改。 我嘗試如下:

new_list = demo_list.append(demo_str)

但是,它不起作用,因為 append 也沒有返回任何東西,demo_list 被修改,我不想這樣做。

這里是你如何做到這一點

new_list = demo_list + [demo_str]

當您執行new_list = demo_list時,對象new_listdemo_list指向同一個列表,並且有效地修改一個意味着修改另一個,因為它們本質上是相同的 object。

您首先需要使用copy()方法創建列表的副本,然后使用append作為:

demo_list = [ 'rishi', 'john', 'mohan', 'sony' ]
new_list = demo_list.copy()
new_list.append('samsung')
print(new_list)

此外,當您執行new_list = demo_list.append(demo_str)時,由於append()正常工作,該方法的返回值為None因此new_list被分配為None

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM