我正在尝试使用 python 更改列表中项目的编号,但无论我做什么,它似乎都按数字顺序排列。
假设我在名为 items 的列表中有以下项目
items = ['1. item1', '2. item2', '3. item3', '4. item4']
像这样更容易可视化,所以这是当前顺序
1. item1
2. item2
3. item3
4. item4
从另一个函数中,我将顺序重新排列为:
3. item3
1. item1
4. item4
2. item2
现在,我遇到问题的函数只是将文件重命名为与它们的位置相对应,所以它现在是:
1. item3
2. item1
3. item4
4. item2
问题是数字被放回数字顺序。我的列表项按特定顺序排列,我希望根据它们在列表中的位置对项目进行编号
def order(self, directory):
i = 1
#print self.files
for filename in os.listdir(directory):
if filename in self.files: #if the current file in the directory is part of the files list
newfile = re.sub(r'^[0-9][.]',"",filename) #remove the number and decimal from the beginning
os.rename(directory + "/" + filename, directory + "/" + str(i) + ". " + newfile) #rename it with a new number and decimal
i = i + 1
#print newfile