#方法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)