gpt4 book ai didi

python - 重新连接列表中特定的分割字符串 PYTHON

转载 作者:行者123 更新时间:2023-12-01 08:53:59 25 4
gpt4 key购买 nike

我有一个包含带有测量单位的值的列表,我想删除它们,原始列表如下:

['Dawn:', 'Sunrise:', 'Moonrise:', 'Dusk:', 'Sunset:\xa0', 'Moonset:', 'Daylight:', 'Length:', 'Phase:', 'Temperature', 'Dew\xa0Point ', 'Windchill', 'Humidity', 'Heat Index', 'Apparent Temperature', 'Solar Radiation', 'Evapotranspiration Today', 'Rainfall\xa0Today', 'Rainfall\xa0Rate', 'Rainfall\xa0This\xa0Month', 'Rainfall\xa0This\xa0Year', 'Rainfall\xa0Last Hour', 'Last rainfall', 'Wind\xa0Speed\xa0(gust)', 'Wind\xa0Speed\xa0(avg)', 'Wind Bearing', 'Beaufort\xa0F1', 'Barometer\xa0', 'Rising slowly']
['07:30', '08:04', '17:03', '19:05', '18:31', '01:45', '11:35', '10:27', 'Waxing Gibbous', '13.7\xa0°C', '11.4\xa0°C', '13.7\xa0°C', '86%', '13.7\xa0°C', '13.0\xa0°C', '0\xa0W/m²', '0.15\xa0mm', '0.0\xa0mm', '0.0\xa0mm/hr', '36.4\xa0mm', '36.4\xa0mm', '0.0\xa0mm', '2018-10-14 08:52', '6.1\xa0kts', '2.6\xa0kts', '229° SW', 'Light air', '1026.89\xa0mb', '0.27\xa0mb/hr']

要删除度、kts、mb 等测量单位,我遵循以下方法:

    newlist = [word for line in test for word in line.split()]
#print(newlist)
testlist = ['°C', 'W/m²', 'mm','mm/hr', 'mb','kts', 'mb/hr', '%']
t = [x for x in newlist for d in testlist if d in x]

s = [r for r in newlist if r not in testlist]

在此代码之后,我可以删除所有单位,但随后以字符串形式并用空格分隔的值(例如 Waxing Gibbous)将变为逗号分隔。我可以用空格将它们重新加入吗?

代码结果:

['Dawn:', 'Sunrise:', 'Moonrise:', 'Dusk:', 'Sunset:\xa0', 'Moonset:', 'Daylight:', 'Length:', 'Phase:', 'Temperature', 'Dew\xa0Point ', 'Windchill', 'Humidity', 'Heat Index', 'Apparent Temperature', 'Solar Radiation', 'Evapotranspiration Today', 'Rainfall\xa0Today', 'Rainfall\xa0Rate', 'Rainfall\xa0This\xa0Month', 'Rainfall\xa0This\xa0Year', 'Rainfall\xa0Last Hour', 'Last rainfall', 'Wind\xa0Speed\xa0(gust)', 'Wind\xa0Speed\xa0(avg)', 'Wind Bearing', 'Beaufort\xa0F1', 'Barometer\xa0', 'Rising slowly']
['07:30', '08:04', '17:03', '19:05', '18:31', '01:45', '11:35', '10:27', 'Waxing', 'Gibbous', '13.7', '11.4', '13.7', '86%', '13.7', '13.0', '0', '0.15', '0.0', '0.0', '36.4', '36.4', '0.0', '2018-10-14', '08:52', '5.2', '2.4', '188°', 'S', 'Light', 'air', '1026.21', '0.23']

获取数据的主要源代码:

Data origin source code

如有任何帮助,我们将不胜感激,谢谢

最佳答案

因此,您之前确定的源数据来自一个名为 grouped 的字典(想想您是否可以将其放回并显示一个很棒的示例)

从组中,您希望获取所有键作为标题和值作为值,但替换所有不需要的符号。

下面的代码从分组字典开始为您执行此操作,并将标题和值存储到 2 个单独的列表中:

headers = []
values = []
testlist = ['°C', 'W/m²', 'mm','mm/hr', 'mb','kts', 'mb/hr']

for i in a[0]:
for k,v in i.items():
headers.append(k)
values.append(v)

for idx,v in enumerate(values):
for t in testlist:
values[idx] = values[idx].replace(t,'')

for h,v in zip(headers,values):
print('Header: {} , Value : {}'.format(h,v))

如果您概述源数据的开始位置以及预期的输出,这对将来肯定会有帮助。

关于python - 重新连接列表中特定的分割字符串 PYTHON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52899882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com