我有一个简单的for循环,它为变量分配一个列表,我也希望删除列表中所有变量的第一个元素。以下代码运行良好,但它没有删除列表中的第一个元素,任何建议?
for x in range(0, len(dataList)-1):
globals()['Row%s' % x] = dataList[x].split(',')
del ['Row%s' % x] [0]
答案 0 :(得分:0)
你走了:
buffer
答案 1 :(得分: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]
globals对它来说是一个相当严峻的黑客,而是使用字典或普通列表:
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]