python 中关于append和extend的区别用法

#方法1
d=[1,2,[3,4]]
c=[]
for i in d:
    if type(i)== int:
        c.append(i)
    else:
       c.extend(i)
                # append方法用于将单个元素添加到列表的末尾,这意味着无论元素是什么类型
                # (如整数、字符串等),它都将作为一个独立的元素添加到列表中。
                # extend方法则用于将一个可迭代对象中的所有元素添加到
                # 列表的末尾。这意味着,如果你传递一个列表给extend方法,它将逐个
                # 添加该列表中的每个元素,而不是将整个列表作为一个单独的元素添加。
print(c)
#方法2
d=[1,2,[3,4]]
c=[]
for i in d:
    if type(i)== int:
        c.append(i)
    else:
        for j in i:
            c.extend([j])
                # append方法用于将单个元素添加到列表的末尾,这意味着无论元素是什么类型
                # (如整数、字符串等),它都将作为一个独立的元素添加到列表中。
                # extend方法则用于将一个可迭代对象中的所有元素添加到
                # 列表的末尾。这意味着,如果你传递一个列表给extend方法,它将逐个
                # 添加该列表中的每个元素,而不是将整个列表作为一个单独的元素添加。
print(c)

在上述代码中使用exint类型元素,extend方法之后都是正确的用法,唯一不同的区别是第一个的i是数列,第二个的j是元素,而该方法只用于可迭代对象,可迭代对象包括元组(tuple)、列表(list)、字典(dict)、字符串(str)、集合(set)、以及ndarray等。所以需要把j转换可迭代数据再加上

当使用append函数时,这里已经是独立的元素了,所以只需要直接加上而不用转化为列表

print(c)
#方法2
d=[1,2,[3,4]]
c=[]
for i in d:
    if type(i)== int:
        c.append(i)
    else:
        for j in i:
            c.append(j)
                # append方法用于将单个元素添加到列表的末尾,这意味着无论元素是什么类型
                # (如整数、字符串等),它都将作为一个独立的元素添加到列表中。
                # extend方法则用于将一个可迭代对象中的所有元素添加到
                # 列表的末尾。这意味着,如果你传递一个列表给extend方法,它将逐个
                # 添加该列表中的每个元素,而不是将整个列表作为一个单独的元素添加。
print(c)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值