创建通过拆分文本获得的项目列表

时间:2019-07-11 20:37:09

标签: python python-3.x string list append

我有一个目录,其中包含100个以下格式的文件。

 summary-0000016b9bf45ec8-AAAACCCC0286.json
 summary-0000016b9bf47180-AAAACCCC0286.json
 summary-0000016b9bf47746-AAAACCCC0286.json
 summary-0000016b9bf47cd8-AAAACCCC0286.json
 summary-0000016b9bf47f48-AAAACCCC0286.json
 summary-0000016b9bf4818e-AAAACCCC0286.json

我需要在摘要后提取字段并创建一个列表。我正在使用一个空列表,并尝试将输出附加到该列表。下面是创建空列表并将我要提取的字段附加到其中的代码。

for files in dir:
  if 'summary' in files and len(files.split('-')) > 1:
    s_addr = []
    s_addr.append(files.split('-')[1])
    print (s_addr)

我得到的输出是提取的每个项目的列表,如下所示:

['0000016b9bf31d5e']
['0000016b9bf45ec8']
['0000016b9bf1d8c4']
['0000016b9bf3c920']
['0000016b9bf2371f']
['0000016b9bf3d8ec']
['0000016b9bf11cb6']

预期输出为:

['0000016b9bf31d5e','0000016b9bf45ec8','0000016b9bf1d8c4','0000016b9bf3c920','0000016b9bf2371f','0000016b9bf3d8ec','0000016b9bf11cb6']

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

您的订购错误。您不想每次都重写列表,因此需要将s_addr放在for循环之外:

s_addr = []
for files in dir:
  if 'summary' in files and len(files.split('-')) > 1:
    s_addr.append(files.split('-')[1])
print (s_addr)