【问题标题】:Create a list of items obtained from splitting text创建从拆分文本获得的项目列表
【发布时间】:2019-11-21 15:07:43
【问题描述】:

我有一个包含 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']

我做错了什么?

【问题讨论】:

  • s_addr = []放到循环之外

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


【解决方案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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    相关资源
    最近更新 更多