列表中append输出是空


list=['你好','欢迎']
print(list.append('大家'))

list=['你好','欢迎']
list.append('大家')
print(list)

在使用函数时,要注意函数的定义

list.append 是没有返回值的,他的操作是在原有的 list 上进行操作的,你输出 list.append 并不会输出 list ,而是输出 list.append 方法的返回值

如同 list.pop 一样,pop 具有返回值,返回的是被删除的元素,print(list.pop()) ,输出的是被删除元素,而不是 list

所以在使用函数、方法时,要注意他的操作方式,是引用原数据直接操作,还是需要从新赋值的方式,有没有返回值,返回值到底是什么

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7687017
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Python之列表的append()方法容易踩得坑
  • 除此之外, 这篇博客: Go教程(六)切片中的 使用append动态添加数据 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    apppend将返回一个和原切片完全相同并且尾部追加新元素的新切片

    这个新切片与原切片不同的底层数组。当append发生在原数组地址空间无法扩展时,将重新开辟一块内存,把当前的元素全部拷贝过去,再在尾部追加新元素。而这一切都是append内部发生的,所以无法确定新切片是否和老切片共享底层数组。

    因此我们在append以后需要把新切片赋值给原来的切片,这样就比较安全。

    sl3 := append(sl1, 4, 5) // 危险,sl3和sl1不确定是否互相影响
    sl1 := append(sl1, 4, 5) // OK,还是sl1上操作
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^