Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中在一行中附加多个项_Python - Fatal编程技术网

如何在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])