zoukankan      html  css  js  c++  java
  • Python3-list中的append()和extend()方法区别

    Python3-list中的append()和extend()方法区别

    一、append()和extend()方法都是用来添加数据到list末尾的,两者的区别:

    • append()添加的时候会把添加的数据当成一个整体进行添加,允许添加任意类型的数据
    • extend()添加的时候会把添加的数据迭代进行添加,只允许添加可迭代对象数据(可迭代对象: 能用for循环进行迭代的对象就是可迭代对象, 比如:字符串,列表,元祖,字典,集合等等 )

    二、append()方法的使用(会把对象整体添加到列表后):

    1. 把列表添加到列表中
    one_list = [1, 2, 3, 4, 5]
    two_list = ["aaa", "bbb", "ccc"]
    one_list.append(two_list)
    print(one_list)  # [1, 2, 3, 4, 5, ['aaa', 'bbb', 'ccc']]
    
    2. 把元组添加到列表中
    one_list = [1, 2, 3, 4, 5]
    tup = ("ddd", "eee", "fff")
    one_list.append(tup)
    print(one_list)  # [1, 2, 3, 4, 5, ('ddd', 'eee', 'fff')]
    
    3. 把字典添加到列表中
    dict1 = {"a": 1, "b": 2}
    one_list.append(dict1)
    print(one_list)  # [1, 2, 3, 4, 5, {'a': 1, 'b': 2}]
    
    4. 把set集合添加到列表中
    set1 = {'p', 'o', 'e', 'x'}
    one_list.append(set1)
    print(one_list) # # [1, 2, 3, 4, 5, {'p', 'o', 'e', 'x'}]
    
    5. 把单个数值添加到列表中
    one_list.append(110)
    print(one_list)  # [1, 2, 3, 4, 5, 110]
    
    6. 把类/对象添加到列表中
    class A(object):
    	pass
    a = A()
    # 类
    one_list.append(A)
    # 对象
    one_list.append(a)
    print(one_list)  # [1, 2, 3, 4, 5, <class '__main__.A'>, <__main__.A object at 0x0000024F625F5C48>]
    

    三、extend()方法的使用(会把对象迭代添加到列表后):

    1. 把列表添加到列表中
    one_list = [1, 2, 3, 4, 5]
    two_list = ["aaa", "bbb", "ccc"]
    one_list.extend(two_list)
    print(one_list)  # [1, 2, 3, 4, 5, 'aaa', 'bbb', 'ccc']
    
    2. 把元组添加到列表中
    one_list = [1, 2, 3, 4, 5]
    tup = ("ddd", "eee", "fff")
    one_list.extend(tup)
    print(one_list)  # [1, 2, 3, 4, 5, 'ddd', 'eee', 'fff']
    
    3. 把字典添加到列表中
    dict1 = {"a": 1, "b": 2}
    # 默认添加进去的是key值
    one_list.extend(dict1)
    print(one_list)  # [1, 2, 3, 4, 5, 'a', 'b']
    # 通过dict.values()添加进去的是value值
    one_list.extend(dict1.values())
    print(one_list)  # [1, 2, 3, 4, 5, 1, 2]
    
    4. 把set集合添加到列表中
    set1 = {'p', 'o', 'e', 'x'}
    one_list.extend(set1)
    print(one_list) # # [1, 2, 3, 4, 5, 'p', 'o', 'e', 'x']
    
    5. 把单个数值添加到列表中(单个数值不是可迭代对象,所以会报错)
    one_list.extend(110)
    print(one_list)  # 报错:TypeError: 'int' object is not iterable
    
    6. 把类/对象添加到列表中(类/对象不是可迭代对象,所以会报错)
    class A(object):
    	pass
    a = A()
    # 类
    one_list.extend(A)
    # 对象
    one_list.extend(a)
    print(one_list)  # TypeError: 'type' object is not iterable
    

    四、总结:

    append()和extend()方法都是在列表末尾添加数据,append()方法支持添加所有数据,extend()方法只支持可迭代对象的数据。
  • 相关阅读:
    命令[34]
    命令[33]
    命令[27]
    命令[38]
    命令[19]
    命令[22]
    命令[30]
    命令[37]
    命令[23]
    命令[26]
  • 原文地址:https://www.cnblogs.com/desireyang/p/12597203.html
Copyright © 2011-2022 走看看