骑消防栓的女孩 发表于 2022-11-10 11:30:12

萌新求助Python中的一个创建列表的基础问题

a = 'abcd'.removeprefix('a')
a
'bcd'
a = (0,1,2,3)
a
(1, 2, 3)
a = .extend()
print(a)
None

在做课后作业的时候偶然发现,字符串和元组都可以直接通过现有的字符串、元组进行修改,并赋值给另外一个变量。但列表却不行,赋值后列表为空集。我大概能猜到这应该和列表可变,元组和字符串不可变有关。我的问题是为什么?为什么列表不能直接用一行代码给另外一个变量赋值,内部逻辑是什么?

wp231957 发表于 2022-11-10 11:37:51

extend这东西不返回列表,只返回none

tommyyu 发表于 2022-11-10 11:50:41

在执行.extend()这一行代码的时候,是临时创建了一个 list 类型的对象,然后调用这个对象的 extend 方法,将这个对象增加1、2、3,但是 extend 方法的返回值是 None.

jackz007 发表于 2022-11-10 11:54:02

      由于 extend() 不返回值,这一句
a = .extend()
      必须拆分成下面两句
a =
a . extend()# extend() 无返回值
页: [1]
查看完整版本: 萌新求助Python中的一个创建列表的基础问题