如何在Python中在一行中附加多个项
我有:如何在Python中在一行中附加多个项,python,Python,我有: count=0 i=0 当计数
count=0
i=0
当计数
我想将
newlist.append()
语句添加到几个语句中 否。追加整个序列的方法是list.extend()
没有
首先,append
是一个函数,因此您不能编写append[i+1:i+4]
,因为您试图获取一个非序列的片段。(您也无法获取它的元素:append[i+1]
出于同样的原因是错误的。)调用函数时,参数放在圆括号中,即圆括号中:()
第二,你要做的是“取一个序列,将其中的每个元素按原始顺序放在另一个序列的末尾”。拼写为extend
append
是“把这个东西作为一个单独的项目放在列表的末尾,,即使它也是一个列表”。(回想一下,列表是一种序列。)
但是,您需要知道,i+1:i+4
是一种特殊的构造,它只出现在方括号(从序列中获取片段)和大括号(创建dict
对象)中。不能将其传递给函数。所以你不能用它来扩展。您需要对这些值进行排序,实现这一点的自然方法是使用range
函数。您还可以:
>>> L = [1, 2]
>>> L.extend((3, 4, 5))
>>> L
[1, 2, 3, 4, 5]
输出:
mylist = [1,2,3]
def multiple_appends(listname, *element):
listname.extend(element)
multiple_appends(mylist, 4, 5, "string", False)
print(mylist)
使用以下命令:
[1, 2, 3, 4, 5, 'string', False]
通过使用(+)运算符,您可以在一行代码中跳过多个追加和扩展运算符,这对L1+L2+L3+L4……等的两个以上列表有效
快乐学习…:)用于循环。像这样:
#Inputs
L1 = [1, 2]
L2 = [3,4,5]
#Code
L1+L2
#Output
[1, 2, 3, 4, 5]
很明显,如果得到不同的结果,情况就不一样了。这是无效的语法。假设您的对象是列表,那么您的代码就不是有效的Python,因为您使用的是
[]
而不是()
。请将实际工作代码作为“附加”发布。“插入”函数,但会添加到列表的开头。是否有一个函数可以将多个值添加到列表的开头?@sparrow:否。改为Slice assign。是否需要第二个输入作为列表,或者它可以是用逗号分隔的每个元素?@CharlieParker:list.extend()
的参数必须是iterable。
[1, 2, 3, 4, 5, 'string', False]
#Inputs
L1 = [1, 2]
L2 = [3,4,5]
#Code
L1+L2
#Output
[1, 2, 3, 4, 5]
for x in [1,2,7,8,9,10,13,14,19,20,21,22]:
new_list.append(my_list[i + x])