Python 使用for循环删除列表中的第一项
我有一个简单的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 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”,然后扔掉空列表。