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

Python 使用for循环删除列表中的第一项,python,arrays,list,for-loop,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] 给你: for x in range(0, len(dataList)-1):

我有一个简单的for循环,它将一个列表分配给一个变量,我还想删除列表中所有变量的第一个元素。下面的代码运行良好,但没有删除列表中的第一个元素,有什么建议吗

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

 for x in range(0, len(dataList)-1):
    if x == 0:
        continue
    globals()['Row%s' % x] = dataList[x].split(',')
    del ['Row%s' % x] [0]
下面的代码运行良好,但没有删除列表中的第一个元素,有什么建议吗

    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]
不过,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]

del['Row%s'%x][0]
变为
del['Row5'][0]
时将执行什么操作?用字符串“Row5”构建一个单项目列表,删除“Row5”,然后扔掉空列表。