首页 > 解决方案 > 如何将“段落”变成列表

问题描述

我提前道歉,因为我不知道如何正确地问这个问题。每周,我都会收到有关股票更新的收益报告。他们看起来像这样

Alexandria Real Estate Equities, Inc. (ARE), Beyond Meat, Inc. (BYND), Brown & Brown, Inc. (BRO), Canon Inc. (CAJ), 
Chegg, Inc. (CHGG), Cincinnati Financial Co. (CINF), Ecopetrol SA (EC), Hasbro, Inc. (HAS), 
HCA Healthcare, Inc. (HCA), HSBC Holdings plc (HSBC), NXP Semiconductors (NXPI), Otis Worldwide (OTIS), 
Packaging Co. of America (PKG), Petróleo Brasileiro S.A. - Petrobras (PBR), Principal Financial Group Inc (PFG), 
Principal Financial Group, Inc. (PFG), SAP SE (SAP), Twilio Inc (TWLO)

由于此消息是通过电子邮件发送的,我想找到一种方法将其存储在一个.txt看起来很吸引人的地方。如果可能的话,我想让它看起来像

[1] Alexandria real estate equities, inc. (ARE)
[2] Beyond meat, inc. (BYND)
[3] Brown & brown, inc. (BRO)
[4] Canon inc. (CAJ)
[5] Chegg, inc. (CHGG)
[6] Cincinnati financial co. (CINF)
[7] Ecopetrol sa  (EC)
[8] Hasbro, inc. (HAS)

等等。尽管我不断思考并提出不同的选择,但我仍然陷入困境,不知道如何解决这个问题。任何帮助将不胜感激。

标签: pythonlistparagraph

解决方案


我们可以看到,每只股票都被 隔开, 。但由于相同的, 字符也用于“, Inc.”。,我们需要用 分隔股票名称),

让我们使用 Python 的内置split()函数拆分文本。我们从文本中得到一个字符串列表。像这样:

text = "Alexandria Real Estate Equities, Inc. (ARE), Beyond Meat, Inc. (BYND), Brown & Brown, Inc. (BRO), Canon Inc. (CAJ), Chegg, Inc. (CHGG), Cincinnati Financial Co. (CINF), Ecopetrol SA (EC), Hasbro, Inc. (HAS), HCA Healthcare, Inc. (HCA), HSBC Holdings plc (HSBC), NXP Semiconductors (NXPI), Otis Worldwide (OTIS), Packaging Co. of America (PKG), Petróleo Brasileiro S.A. - Petrobras (PBR), Principal Financial Group Inc (PFG), Principal Financial Group, Inc. (PFG), SAP SE (SAP), Twilio Inc (TWLO)"

split_text = text.split("), ")

输出:

['Alexandria Real Estate Equities, Inc. (ARE', 'Beyond Meat, Inc. (BYND', 'Brown & Brown, Inc. (BRO', 'Canon Inc. (CAJ', 'Chegg, Inc. (CHGG', 'Cincinnati Financial Co. (CINF', 'Ecopetrol SA (EC', 'Hasbro, Inc. (HAS', 'HCA Healthcare, Inc. (HCA', 'HSBC Holdings plc (HSBC', 'NXP Semiconductors (NXPI', 'Otis Worldwide (OTIS', 'Packaging Co. of America (PKG', 'Petróleo Brasileiro S.A. - Petrobras (PBR', 'Principal Financial Group Inc (PFG', 'Principal Financial Group, Inc. (PFG', 'SAP SE (SAP', 'Twilio Inc (TWLO)']

让我们在最后附加丢失的)字符。

要获取每只股票的指数,请enumerate()在循环中使用该函数。

最终代码:

split_text = text.split("), ")
for idx, stock_name in enumerate(split_text):
    print(f"[{idx+1}] {stock_name})")

输出:

[1] Alexandria Real Estate Equities, Inc. (ARE)
[2] Beyond Meat, Inc. (BYND)
[3] Brown & Brown, Inc. (BRO)
[4] Canon Inc. (CAJ)
[5] Chegg, Inc. (CHGG)
[6] Cincinnati Financial Co. (CINF)
[7] Ecopetrol SA (EC)
[8] Hasbro, Inc. (HAS)
[9] HCA Healthcare, Inc. (HCA)
[10] HSBC Holdings plc (HSBC)
[11] NXP Semiconductors (NXPI)
[12] Otis Worldwide (OTIS)
[13] Packaging Co. of America (PKG)
[14] Petróleo Brasileiro S.A. - Petrobras (PBR)
[15] Principal Financial Group Inc (PFG)
[16] Principal Financial Group, Inc. (PFG)
[17] SAP SE (SAP)
[18] Twilio Inc (TWLO)

推荐阅读