如何在不更改python中现有列表的情况下,通过向现有列表添加字符串来创建新列表?

如何在不更改python中现有列表的情况下,通过向现有列表添加字符串来创建新列表?,python,list,Python,List,我有一个列表和一个字符串,如下所示: demo_list = [ 'rishi', 'john', 'mohan', 'sony' ] demo_str = 'samsung' new_list = demo_list.append(demo_str) 我想通过将demo_str插入demo_列表而不修改demo_列表来创建一个新列表。我的预期产出是: new_list = [ 'rishi', 'john', 'mohan', 'sony', 'samsung' ] demo_list

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

demo_list = [ 'rishi', 'john', 'mohan', 'sony' ]
demo_str = 'samsung' 
new_list = demo_list.append(demo_str)
我想通过将demo_str插入demo_列表而不修改demo_列表来创建一个新列表。我的预期产出是:

new_list = [ 'rishi', 'john', 'mohan', 'sony', 'samsung' ]
demo_list = [ 'rishi', 'john', 'mohan', 'sony' ] 
请注意,demo_列表保持原样,并通过加入demo_列表和demo_str创建一个新的_列表。我可以使用“append”完成此操作,但在执行此操作时,demo_列表会被修改。我的尝试如下:

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

但是,它不起作用,因为append也不会返回任何内容,我不想修改演示列表。

当您执行
new\u list=demo\u list
时,对象
new_list
demo_list
指向同一个列表,修改其中一个实际上意味着修改另一个,因为它们本质上是同一个对象

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

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

另外,当您执行
new\u list=demo\u list.append(demo\u str)
时,由于
append()
工作到位,该方法的返回值是
None
,因此
new\u list
会被分配
None
的值。下面是您可以执行此操作的方法

new_list = demo_list + [demo_str]