快速区分append()和extend()函数

1、append()函数


1.0 功能:

append()是Python中的内置函数,作用是在列表的结尾追加数据。

1.1 特点:

一次只能追加一个数据,该数据可以是任何类型,包括数值(整型、浮点型)、字符串、元组、列表、集合、字典。

示例1:

list1 = ["张三", "李四", "王五"]
list1.append("赵六")
print("追加字符串的结果是:", list1)
list1.append(123)
print("追加数值的结果是:", list1)

运行结果如下:

追加字符串的结果是: [‘张三’, ‘李四’, ‘王五’, ‘赵六’]

追加数值的结果是: [‘张三’, ‘李四’, ‘王五’, ‘赵六’, 123]

1.2 注意事项:

如果追加的数据是元组、列表、集合、字典,该函数会将他们当作一个整体追加到原来的列表中。

示例2:

list1 = ["张三", "李四", "王五"]
list1.append(("赵六", "pig"))
print("追加元组的结果是:", list1)
list1.append({456, "pig"})
print("追加集合的结果是:", list1)

运行结果如下:

追加元组的结果是: [‘张三’, ‘李四’, ‘王五’, (‘赵六’, ‘pig’)]

追加集合的结果是: [‘张三’, ‘李四’, ‘王五’, (‘赵六’, ‘pig’), {456, ‘pig’}]


2、extend()函数


2.0 功能:

extend()是Python中的内置函数,作用是在列表的结尾追加数据。

2.1 特点:

一次只能追加一个数据,该数据必须是“可迭代的”对象,如:字符串、元组、列表、集合、字典,该函数会将可迭代对象中的元素逐一添加到原列表中,单独的数值(整型、浮点型)是不可以用extend函数的。

示例3:

list1 = ["张三", "李四", "王五"]
list1.extend(["赵六", "520", "dog"])
print("追加列表的结果是:", list1)
list1 = ["张三", "李四", "王五"]
list1.extend({"赵六", "520", "dog"})     # 集合是无序的,追加的数据也是无序添加的
print("追加集合的结果是:", list1)

运行结果如下:

追加列表的结果是: [‘张三’, ‘李四’, ‘王五’, ‘赵六’, ‘520’, ‘dog’]

追加集合的结果是: [‘张三’, ‘李四’, ‘王五’, ‘520’, ‘dog’, ‘赵六’]

2.2 注意事项:

如果追加的对象是字符串,该函数会将字符串中的每一个元素拆分开逐一添加到原列表中。

示例4:

list1 = ["张三", "李四", "王五"]
list1.extend("赵六")
print("追加字符串的结果", list1)
list1 = ["张三", "李四", "王五"]
list1.extend("520")
print("追加字符串的结果", list1)

运行结果如下:

追加字符串的结果 [‘张三’, ‘李四’, ‘王五’, ‘赵’, ‘六’]

追加字符串的结果 [‘张三’, ‘李四’, ‘王五’, ‘5’, ‘2’, ‘0’]

2.3 特别说明:

如果追加的对象是字典,extend默认添加的是字典的“键”,如果只想添加其中的“值”或者“键值对”,可以使用字典的 .values() 和 .items() 方法

示例5:

list1 = ["张三", "李四", "王五"]
list1.extend({"赵六": "pig", "hao": [1,2,3]})    # 此处用.keys()效果同默认效果
print("追加字典的默认结果是", list1)

运行结果如下:

追加字典的默认结果是 [‘张三’, ‘李四’, ‘王五’, ‘赵六’, ‘hao’]

list1 = ["张三", "李四", "王五"]
list1.extend({"赵六": "pig", "hao": [1,2,3]}.values())
print("追加字典的values结果是", list1)

运行结果如下:

追加字典的values结果是 [‘张三’, ‘李四’, ‘王五’, ‘pig’, [1, 2, 3]]

list1 = ["张三", "李四", "王五"]
list1.extend({"赵六": "pig", "hao": [1,2,3]}.items())    # items()是将键值对以元组的形式存放
print("追加字典的items结果是", list1)

运行结果如下:

追加字典的items结果是 [‘张三’, ‘李四’, ‘王五’, (‘赵六’, ‘pig’), (‘hao’, [1, 2, 3])]

*以下一条是用append函数的运行结果,可以跟上面结果对比

追加字典的结果是 [‘张三’, ‘李四’, ‘王五’, {‘赵六’: ‘pig’, ‘hao’: [1, 2, 3]}]


总结:

  • append()和extend()都是用于在列表结尾追加数据,并且都是一次只能添加一个数据对象,两者都可以添加字符串、元组、列表、集合和字典,不同点在于两者添加数据后呈现的效果不同;
  • 如果追加的数据是数值类型的,只能选用append()函数;
  • 如果追加的数据是单个字符串,建议用append()函数,如有特殊需求,也可以选用extend();
  • 如果追加的数据是元组、列表、集合,需要当成整体添加,选用append,将元素逐一添加选用extend;
  • 如果追加的数据是字典,append会整体当作字典添加,而extend默认是逐一添加字典的键,如果需要添加其中的值或者键值对,可以使用字典的.values()和.items()方法。

你可能感兴趣的:(python)