簡體   English   中英

python,列表中的列表在彈出時給出索引超出范圍

[英]python, lists within list give index out of range when popped

我在列表中包含一些值,並且可以像這樣在屏幕上顯示它們:

  AD  QS  5S  5D  2D  QD  7D 

  KS  AH  3S  KC 10D  6D  6C 

  5C  2C 10C  7C  4D  8H  2H 

  2S  JH  4S  6S  JC  4H  JD 

  AS  9D  3C  AC  KH  8D  8C

但是,每當我調用一個函數從列表中彈出一個值,然后再次重新打印整個結構時,都會給我索引超出范圍的錯誤。 如果列表中的某個項目已經彈出,那么我希望程序打印任何可用的范圍。例如,如果彈出5個項目,彈出1個項目,剩下4個項目,我希望輸出如下所示:

AD  QS  5S  5D  2D  QD  7D 

KS  AH  3S  KC 10D  6D  6C 

5C  2C 10C  7C  4D  8H  2H 

2S  JH  4S  6S  JC  4H  JD 

AS  9D  3C  AC      8D  8C

我的代碼如下:

tableau= [[],[],[],[],[],[],[]] #each of the list have 5 values inside
col1 = tableau[0]
col2 = tableau[1]
col3 = tableau[2]
col4 = tableau[3]
col5 = tableau[4]
col6 = tableau[5]
col7 = tableau[6]
lists = [col1, col2, col3, col4, col5, col6, col7]

for y in range(0,5):      
     print '\n'
     for x in lists:
          print x[y],

 #The function I call has something like this inside
 tCol = 5
 tableau[tCol - 1].pop()

問題是您要從list中刪除一個條目,因此list變小: https : //docs.python.org/3/tutorial/datastructures.html

如果您只是想舍棄該值並且以后不再使用它,則可以用一個空值覆蓋它,而不用刪除它: my_list[index] = ""

這是list.pop([i])的文檔: https : list.pop([i])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM