
原始数据如下(局部)
['1709020220', '0', '0']_1341.jpg
['1709020220', '0']_1342.jpg
['1709020223']_914.jpg
['1709020223']_915.jpg
使用切片提取的元素类型为str
picd = {}
fi = open("dir_50.txt",'r')
for l in fi:
l = l.strip()
if len(l):
l=l.split('_')
print(type(l[0]))

打印出切片结果(看起来是列表类型,实际上是str)

- 所以不能使用list.remove()函数去除特定元素(实际上即使转换为列表类型,使用remove函数也只能去除列表中第一次出现的符合要求的值,而且如果列表中没有0,还会出现报错的情况)。也不能使用str.replace()去除特定元素,因为这里的看似列表的元素是一个整体。参考下图进一步理解。


使用eval()函数将其变为列表类型

使用if语句过滤掉列表中不需要的特定值
picd = {}
fi = open("dir_50.txt",'r')
for l in fi:
l = l.strip()
if len(l):
l=l.split('_')
l[0] = eval(l[0])
lval = []
for v in l[0]:
if v != '0':
lval.append(v)
print(lval)
['1709020228']
['1709020229']
['1709020229']
['1709020230', '1707030416']
['1709020230', '1707030416']
['1709020230', '1707030416']
['1709020231']
['1709020232']
['1709020301']
['1709020301']