2012-02-23 38 views
2

所以我有两个列表,我想用.pop()从ListA中删除一个项目,然后使用.append()将它添加到ListB。我已经尝试过这一点,但只要使用.pop(),.append()函数就会在此之后使用一个索引。我可以在Python中同时在同一个项目上使用.pop()和.append()吗?

这里是我的代码至今:

ListA = ['a', 'b', 'c', 'd', 'e'] 
ListB = [] 

ListA.pop() 
ListA.pop() 
ListA.pop() 

print 'ListA =', ListA 
print 'ListB =', ListB 

我得到的输出是:

ListA = ['a', 'b'] 
ListB = [] 

我想输出看起来像这样:

ListA = ['a', 'b'] 
ListB = ['e', 'd', 'c'] 

我知道我没有任何.append()函数,但当我把它们放在那里时,我得到一个错误。所以这就是使用.pop()函数的代码。我想用.pop()取出正在删除的项目,然后将它附加到ListB。

感谢您的帮助。

+2

你什么错误?你想要的输出是什么? – 2012-02-23 02:53:19

+3

“但是当我把它们放在那里时,我得到一个错误。”如果您希望我们能够告诉您如何尝试使用'.append()',您必须**告诉我们您如何使用'.append()'**。 – 2012-02-23 04:42:34

回答

7

传递弹出元素的附加功能:

a= ['a', 'b', 'c', 'd', 'e'] 
b= [] 

b.append(a.pop()) 
b.append(a.pop()) 
b.append(a.pop()) 

print 'ListA =', a 
print 'ListB =', b 



Python 2.6.5 (r265:79063, Jun 12 2010, 17:07:01) 
[GCC 4.3.4 20090804 (release) 1] on cygwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 
>>> a = ['a','b','c'] 
>>> b = [] 
>>> b.append(a.pop()) 
>>> b.append(a.pop()) 
>>> b.append(a.pop()) 
>>> print "a =", a 
a = [] 
>>> print "b =", b 
b = ['c', 'b', 'a'] 
>>> 
2

我不明白你的问题清楚,因为你不显示您所需输出,但我想你想这是什么?

ListB.append(ListA.pop()) 
+0

修正它显示我想要的。 – emagdnim 2012-02-23 03:01:12

1

我觉得这很简单,只要:

a = ListA.pop() 
a1 = ListA.pop() 

ListB.append(a) 
ListB.append(a1) 

或我一条线。

ListB.append(ListA.pop()) 
1
b.append(a.pop()) 
b.append(a.pop()) 
b.append(a.pop()) 
1

你为什么不尝试:

在b.append(A [-1]) a.pop()

在b.append(A [-1] ) a.pop()

在b.append(A [-1]) a.pop()

相关问题