Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Loops - Fatal编程技术网

Python 为什么我的列表不一一重复?

Python 为什么我的列表不一一重复?,python,list,loops,Python,List,Loops,目前正在努力学习Python教程 我正在学习列表和循环ex32 在练习Zed教程的最后,作者告诉我们玩一玩,我已经做了 # we can also build lists, first start with an empty one elements = [] elements.append(range(0,6)) # then use the range function to do 0 to 5 counts for element in elements: print "Addi

目前正在努力学习Python教程

我正在学习列表和循环ex32

在练习Zed教程的最后,作者告诉我们玩一玩,我已经做了

# we can also build lists, first start with an empty one
elements = []
elements.append(range(0,6))

# then use the range function to do 0 to 5 counts
for element in elements:
    print "Adding %s to elements" % element


# now we can print them out too
for element in elements:
    print"Element was: %s" % element
这将产生如下输出:

Adding [0, 1, 2, 3, 4, 5] to elements
Element was: [0, 1, 2, 3, 4, 5]
我本以为会看到这样的事情:

Adding 0 to elements
Adding 1 to elements
Adding 2 to elements
Adding 3 to elements
Adding 4 to elements
Adding 5 to elements
Element was: 0
Element was: 1
Element was: 2
Element was: 3
Element was: 4
Element was: 5
但是Python希望在oner中打印我的脚本,而不是每个列表组件的连接字符串

我知道我可以更改脚本以准确反映作者的脚本

# we can also build lists, first start with an empty one
elements = []

# then use the range function to do 0 to 5 counts
for i in range(0, 6):
    print "Adding %d to the list." % i
    # append is a function that lists understand
    elements.append(i)

# now we can print them out too
for i in elements:
    print "Element was: %d" % i

但我只是想知道为什么我的作品没有达到预期效果?

你在给列表添加一个列表!您只想创建列表

您只需更改以下内容:

elements = []
elements.append(range(0,6))
进入

你会得到你期望的结果

为什么?
当您第一次创建元素时,它是一个空白列表。然后将range0,6追加到空列表中。现在元素看起来像[[0,1,2,3,4,5]]或[range0,6],这是一个包含一个元素的列表,一个列表。

您正在将列表附加到列表中!您只想创建列表

您只需更改以下内容:

elements = []
elements.append(range(0,6))
进入

你会得到你期望的结果

为什么? 当您第一次创建元素时,它是一个空白列表。然后将range0,6追加到空列表中。现在元素看起来像[[0,1,2,3,4,5]]或[range0,6],这是一个包含一个元素的列表,一个列表。

这是因为元素只包含一个元素,即列表:[0,1,2,3,4,5]。将项目添加到列表的末尾

In [1]: elements = []

In [2]: elements.append(range(0,6))

In [3]: elements
Out[3]: [[0, 1, 2, 3, 4, 5]]
也许你的意思是:

In [1]: elements = []

In [2]: elements.extend(range(0, 6))

In [3]: elements
Out[3]: [0, 1, 2, 3, 4, 5]
还是更换它

In [4]: elements = range(0,6)

In [5]: elements
Out[5]: [0, 1, 2, 3, 4, 5]
甚至:

In [6]: elements = [element for element in range(0,6)]

In [7]: elements
Out[7]: [0, 1, 2, 3, 4, 5]
在本例中不需要,但它演示了如何轻松筛选或映射这些元素。

这是因为元素只包含一个元素,即列表:[0、1、2、3、4、5]。将项目添加到列表的末尾

In [1]: elements = []

In [2]: elements.append(range(0,6))

In [3]: elements
Out[3]: [[0, 1, 2, 3, 4, 5]]
也许你的意思是:

In [1]: elements = []

In [2]: elements.extend(range(0, 6))

In [3]: elements
Out[3]: [0, 1, 2, 3, 4, 5]
还是更换它

In [4]: elements = range(0,6)

In [5]: elements
Out[5]: [0, 1, 2, 3, 4, 5]
甚至:

In [6]: elements = [element for element in range(0,6)]

In [7]: elements
Out[7]: [0, 1, 2, 3, 4, 5]
在本例中不需要,但它演示了如何轻松筛选或映射这些元素。

.append将单个元素添加到列表中。这个元素的范围是0,6,也就是[0,1,2,3,4,5],约翰西韦布在我之前就已经知道了。可以使用.extend追加每个元素。

.append将单个元素添加到列表中。这个元素的范围是0,6,也就是[0,1,2,3,4,5],约翰西韦布在我之前就已经知道了。您可以使用.extend来追加每一个

这就是为什么

for i in elements:
    print "adding %s to elements" % i
产生:

adding [0,1,2,3,4,5] to elements
要获得所需的输出,请执行以下操作:

elements = range(0,6)

然后

输出你想要的

这就是为什么

for i in elements:
    print "adding %s to elements" % i
产生:

adding [0,1,2,3,4,5] to elements
要获得所需的输出,请执行以下操作:

elements = range(0,6)

然后


输出所需内容

将范围0,6追加到元素。range0,6创建了一个列表,只是想指出这仅在Python2.x中是正确的。在Python3.x中,range返回一个生成器,而不是在元素后面附加range0,6的列表。range0,6创建了一个列表,只是想指出这仅在Python2.x中是正确的。在Python3.x中,range返回一个生成器,而不是一个列表。值得指出的是,因为他正在学习一个教程,他们可能试图解释循环和迭代。告诉他去做elements=range0,6并没有真正的帮助:谢谢你的回答。你的开场白让它咔嗒咔嗒的一声,你是在给列表添加一个列表,所以Python用一个完整的列表来显示整个元素。值得指出的是,因为他正在学习一个教程,他们可能在试图解释循环和迭代。告诉他去做elements=range0,6并没有真正的帮助:谢谢你的回答。你的开场白让它点击了,你是在一个列表中添加一个列表,所以Python用oneThanks显示了整个元素的完整列表。这是我第一次听说“干杯!”!谢谢你的信息。这是我第一次听说“干杯!”!