Python从字符串中提取所有整数和浮点数

所以我有这个清单:

a = '[47.2, 46.6, 46.4, 46.0, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0.0]'

我怎样才能按顺序拉出所有浮点数和整数

我试过

import re
a = [float(s) for s in re.findall("\d+\.\d+", a)]

但不提取整数

期待 =

a = [47.2, 46.6, 46.4, 46, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0]


呼如林
浏览 144回答 3
3回答

斯蒂芬大帝

一些修复:添加了列表,最后需要解压列表。print("Hello world")qstn_1="What is your name?\t"qstn_2="Where would you like to GO for vacation?\t"polling_active=Truename_lst = []place_lst = []while polling_active:    name_lst.append(input(qstn_1))    place_lst.append(input(qstn_2))    other=input("Would you like other person to answer these survey questions ?\t\n")    polling_active=False    if other=='yes':        polling_active=True          print("\n\n\t\t\tPOLLING RESULTS\n")for i_name, i_place in zip(name_lst, place_lst):    print("\n\n\t" + i_name.title() + " would like to go to " + i_place + " for a vacation!\n")

慕村9548890

正则表达式:\d+(?:\.\d+)?代码:import re a = [float(s) for s in re.findall("\d+(?:\.\d+)?", a)] print (a)输出:[47.2, 46.6, 46.4, 46.0, 45.7, 45.54, 45.29, 45.01, 44.79, 44.54, 44.15, 0.0]

慕姐8265434

.这是因为您在正则表达式中包含了要匹配的 。请。更改整数的正则表达式你应该使用(\d+(?:\.\d+)?)而不是你的正则表达式
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python