[英]Python: How to create a new list based on existing list without certain objects
[英]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_list
和demo_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.