分享

Python list列表添加元素的3种方法

 candidacy 2019-07-19
实际开发中,经常需要对列表进行更新,包括向列表中添加元素、修改表中元素以及删除元素。本节先来学习如何向列表中添加元素。

通过前面的学习我们知道,通过使用“+”运算符可以将多个序列进行连接,列表也不例外,例如:
  1. name = ["C语言中文网"]
  2. address = ["http://c."]
  3. print(name+address)
运行结果为:

['C语言中文网', 'http://c.']

可以看到,使用“+”运算符,确实可以像列表中添加元素。但是这种方式的执行效率并不高,更建议大家使用列表提供的 append() 方法。

Python append()方法添加元素

append() 方法用于在列表的末尾追加元素,该方法的语法格式如下:

listname.append(obj)

其中,listname 指的是要添加元素的列表;obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。

例如:
  1. a_list = ['crazyit', 20, -2]
  2. # 追加元素
  3. a_list.append('fkit')
  4. print(a_list)
  5. a_tuple = (3.4, 5.6)
  6. # 追加元组,元组被当成一个元素
  7. a_list.append(a_tuple)
  8. print(a_list)
  9. # 追加列表,列表被当成一个元素
  10. a_list.append(['a', 'b'])
  11. print(a_list)
运行结果为:

['crazyit', 20, -2, 'fkit']
['crazyit', 20, -2, 'fkit', (3.4, 5.6)]
['crazyit', 20, -2, 'fkit', (3.4, 5.6), ['a', 'b']]

可以看到,即便给 append() 方法传递列表或者元组,此方法也只会将其视为一个元素,直接添加到列表中,从而形成包含列表和元组的新列表。

Python extend()方法添加元素

当然,如果希望不将被追加的列表或元组当成一个整体,而是只追加列表中的元素,则可使用列表提供的 extend() 方法。

extend()方法的语法格式如下:

listname.extend(obj)

例如:
  1. b_list = ['a', 30]
  2. # 追加元组中的所有元素
  3. b_list.extend((-2, 3.1))
  4. print(b_list)
  5. # 追加列表中的所有元素
  6. b_list.extend(['C', 'R', 'A'])
  7. print(b_list)
  8. # 追加区间中的所有元素
  9. b_list.extend(range(97, 100))
  10. print(b_list)
运行结果为:

['a', 30, -2, 3.1]
['a', 30, -2, 3.1, 'C', 'R', 'A']
['a', 30, -2, 3.1, 'C', 'R', 'A', 97, 98, 99]

Python insert()方法插入元素

如果希望在列表中间增加元素,则可使用列表的 insert() 方法,此方法的语法格式为:

listname.insert(index , obj)

其中,index 参数指的是将元素插入到列表中指定位置处的索引值。

使用 insert() 方法向列表中插入元素,和 append() 方法一样,无论插入的对象是列表还是元组,都只会将其整体视为一个元素。

例如:
  1. c_list = list(range(1, 6))
  2. print(c_list)
  3. # 在索引3处插入字符串
  4. c_list.insert(3, 'CRAZY' )
  5. print(c_list)
  6. # 在索引3处插入列表
  7. c_list.insert(3, ["crazy"])
  8. print(c_list)
输出结果为:

[1, 2, 3, 4, 5]
[1, 2, 3, 'CRAZY', 4, 5]
[1, 2, 3, ['crazy'], 'CRAZY', 4, 5]

注意,insert() 主要用来插入元素,当向列表末尾添加元素时,还是应该使用 append() 方法。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多