博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python list extend()方法
阅读量:4189 次
发布时间:2019-05-26

本文共 3204 字,大约阅读时间需要 10 分钟。

目录


 

描述

列表方法 extend() 可以将一个序列合并到列表中。

 

语法和参数

list.extend(sequence)
名称 含义 备注
sequence 要并入的序列 不可省略的参数,可以是列表、元组等序列

 

返回值

None。即list.extend()方法没有返回值,其作用于list本身。

 

使用示例

1、合并列表

>>> my_list = ["master", "identidy", "compute", "storage"]>>> new_list = ["storage", "alert", "monitor", "database"]>>>>>> my_list.extend(new_list)>>> my_list['master', 'identidy', 'compute', 'storage', 'storage', 'alert', 'monitor', 'database']

可以看到,new_list列表中的元素合并到了my_list列表中,成为了my_list列表的元素。

 

2、合并元组

extend()方法可以将一个元组合并到一个列表中:

>>> my_list = []>>> my_tuple = (3, 6, 9)>>> my_list.extend(my_tuple)>>> my_list[3, 6, 9]

 

3、合并集合

同元组一样,extend()方法也可以将一个集合合并到一个列表中:

>>> my_list = ["python"]>>> my_set = {"python", "java", "c", "html", "css", "go"}>>> my_list.extend(my_set)>>> my_list['python', 'python', 'go', 'html', 'c', 'java', 'css']

 

4、合并字典

extend()方法也可以将一个字典合并到列表中,但是只能将字典的key合入:

>>> my_list = ["China"]>>> my_dict = {"Japan": "Tokyo"}>>> my_list.extend(my_dict)>>> my_list['China', 'Japan']

如果想合入字典的value,可以借助dict.values()方法:

>>> my_list = ["China"]>>> my_dict = {"Japan": "Tokyo"}>>> my_list.extend(my_dict.values())>>> my_list['China', 'Tokyo']

 

5、合并字符串

当要合并的参数是字符串时,extend认为字符串为一个序列,将字符串中的每一个字符作为一项元素添加到列表中:

>>> demo_list = ["China"]>>> demo_list.extend("Cuba")>>> demo_list['China', 'C', 'u', 'b', 'a']

如果希望将整个字符串作为一个元素添加到列表中,应该使用  。

 

6、合并其它可迭代序列

extend()方法可以将其它可迭代序列直接合入到列表中:

if __name__ == '__main__':    my_list = ["magic keyboard"]    my_range = range(3)    my_list.extend(my_range)    print(my_list)    mp = map(int, (3.69, 4.23))    my_list.extend(mp)    print(my_list)

运行结果:

['magic keyboard', 0, 1, 2]['magic keyboard', 0, 1, 2, 3, 4]

 

注意事项

1、extend & append

extend与append均为列表方法,两者的功能相似:extend()将一个序列合并到列表中,append()将一个元素添加到列表中。但是两者的区别在于extend是合并,而append()是添加:

举个例子🌰:

先来看看append:

if __name__ == '__main__':    city = ["北京", "上海", "广州", "深圳"]    other_city = ["杭州", "青岛", "西安", "成都"]    city.append(other_city)    print("-" * 30 + " append " + "-" * 30)    print("city: ", city)    print("city length:", len(city))

运行结果: 

------------------------------ append ------------------------------city:  ['北京', '上海', '广州', '深圳', ['杭州', '青岛', '西安', '成都']]city length: 5

list.append()方法将整个列表other_city作为一个元素添加到了原来的列表city中。append后city长度为5

接下来是extend:

if __name__ == '__main__':    city = ["北京", "上海", "广州", "深圳"]    other_city = ["杭州", "青岛", "西安", "成都"]    city.extend(other_city)    print("-" * 30 + " extend " + "-" * 30)    print("city: ", city)    print("city length:", len(city))

运行结果:

------------------------------ extend ------------------------------city:  ['北京', '上海', '广州', '深圳', '杭州', '青岛', '西安', '成都']city length: 8

list.extend()方法将整个列表other_city的子元素合并到了原列表city中。extend后city长度为8。

 

2、extend添加不可迭代序列

使用extend()添加不可迭代对象(例如整型int)时会抛出TypeError异常。

>>> demo_list.extend(5)Traceback (most recent call last):  File "
", line 1, in
TypeError: 'int' object is not iterable

 

3、可以使用extend合并自己

>>> demo_list = ["python"]>>> demo_list.extend(demo_list)>>> demo_list['python', 'python']

 

4、extend & +=

也可以使用+=运算符替代extend()方法

>>> citys = ["Shanghai", "Beijing", "Shenzhen", "Guangzhou"]>>> new_citys = ["Chongqing", "Suzhou"]>>> citys += new_citys>>> citys['Shanghai', 'Beijing', 'Shenzhen', 'Guangzhou', 'Chongqing', 'Suzhou']

 

转载地址:http://tbsoi.baihongyu.com/

你可能感兴趣的文章
EasyJWeb-0.6.0版本新功能简介
查看>>
EasyJWeb里程碑0.6.0版发布
查看>>
世界杯与国产开源(四)-为梦而生
查看>>
Spring中的Rod Johnson 与“轮子理论”
查看>>
世界杯与国产开源(三)-团队之星
查看>>
开源EasyJFShoppingOnline项目正式公开邀请行业精英
查看>>
编码讨论---乱码问题之终极解决
查看>>
EasyJFCMS项目正式启动,诚邀国内开源爱好者加入(附uml图)
查看>>
世界杯与国产开源(二)
查看>>
世界杯与国产开源(一)
查看>>
eclipse 中 Subversion 切换 帐号登陆
查看>>
庆祝世界杯开幕,EasyJF官网全站源码对外开放
查看>>
《80前的前辈,你们都做了些什么?!》一文的正确解读及是是非非
查看>>
开源的世界很精
查看>>
国产开源环境的是非,《80前》一文引起的争论
查看>>
读《80前的前辈,你们都做了什么?!》一文有感。
查看>>
玩玩Spring之初章
查看>>
玩玩Spring之hibernate+ webwork+ spring添删改查示例
查看>>
80前的前辈,你们都做了些什么?!(二)
查看>>
80前的前辈,你们都做了些什么?!(四)
查看>>