2012-02-23 72 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()

相關問題