我有一個簡單的for循環,它將一個列表分配給一個變量,同時我想刪除列表中所有變量的第一個元素。下面的代碼運行良好,但它不是刪除列表中的第一個元素,有什麼建議嗎?使用for循環刪除列表中的第一個項目
for x in range(0, len(dataList)-1):
globals()['Row%s' % x] = dataList[x].split(',')
del ['Row%s' % x] [0]
我有一個簡單的for循環,它將一個列表分配給一個變量,同時我想刪除列表中所有變量的第一個元素。下面的代碼運行良好,但它不是刪除列表中的第一個元素,有什麼建議嗎?使用for循環刪除列表中的第一個項目
for x in range(0, len(dataList)-1):
globals()['Row%s' % x] = dataList[x].split(',')
del ['Row%s' % x] [0]
下面的代碼工作得很好,但它未在列表中刪除第一個元素,有什麼建議?
因爲你沒有告訴它刪除列表中的第一個元素。您在刪除行中缺少globals()
,只創建單個元素列表['Row1']
並刪除'Row1'
。嘗試:
for x in range(0, len(dataList)-1):
globals()['Row%s' % x] = dataList[x].split(',')
del globals()['Row%s' % x] [0]
全局是它的一個非常嚴峻的黑客雖然,而是使用一本詞典或是正常的列表:
data = []
for x in range(0, len(datalist)-1):
parts = x.split(',')
del parts[0]
data.append(parts)
事實上,Python可以切片名單,並逐一項目,而不計數:
data = []
for x in datalist:
parts = x.split(',')
data.append(parts[1:])
事實上,它有直接的樓宇名單了一個快捷方式:
data = [x.split(',')[1:] for x in datalist]
在這裏你去:
for x in range(0, len(dataList)-1):
if x == 0:
continue
globals()['Row%s' % x] = dataList[x].split(',')
del ['Row%s' % x] [0]
什麼是del ['Row%s'%x] [0]'當它變成del ['Row5'] [0]'時要做什麼'?使用字符串'Row5'構建一個項目列表,刪除'Row5',然後丟棄空列表。 – TessellatingHeckler
它像一個魅力! –