使用for循环删除列表中的第一个项目

时间:2015-06-09 01:19:42

标签: python arrays list for-loop

我有一个简单的for循环,它为变量分配一个列表,我也希望删除列表中所有变量的第一个元素。以下代码运行良好,但它没有删除列表中的第一个元素,任何建议?

    for x in range(0, len(dataList)-1):
        globals()['Row%s' % x] = dataList[x].split(',')
        del ['Row%s' % x] [0]

2 个答案:

答案 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]