首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将包含符号和数字的字符串转换为浮点数或整数列表?

如何将包含符号和数字的字符串转换为浮点数或整数列表?
EN

Stack Overflow用户
提问于 2017-08-01 02:08:17
回答 5查看 600关注 0票数 1

我有一个以下格式的列表:

代码语言:javascript
运行
复制
my_list = ['2-7', '10-22', '22-50', '50-70', '2-7', '10-22', '22-50', '50-70', '2-7', '10-22', '22-50', '50-70']

正如您所看到的,它包含间隔字符串。

我正在尝试将此列表转换为以下格式:

代码语言:javascript
运行
复制
list_of_lists = [[2.0, 7.0], [10.0, 22.0], [22.0, 50.0], etc....]

我一直在尝试使用以下结构:

代码语言:javascript
运行
复制
list_2 = []
for item in my_list:
    list_2.append(list(item))
list_3 = [x for x in list_2 if x != "-"]
list_4 = []
for item_2 in list_3:
    var = float(item_2)
    list_4.append(var)

这个代码的问题是它将两个数字转换成两个独立的数字。而且,总的来说,我觉得这不是一个最佳的解决方案。

有人能给我指点或建议吗?

干杯:)提前谢谢你。

EN

回答 5

Stack Overflow用户

发布于 2017-08-01 02:12:47

您走在了正确的道路上,但是您缺少的关键是str.split()方法,它可以完成这里的大部分繁重任务。

此外,我个人会在顶层使用列表理解来简化代码:

代码语言:javascript
运行
复制
>>> [map(float, el.split('-')) for el in my_list]
[[2.0, 7.0], [10.0, 22.0], [22.0, 50.0], [50.0, 70.0], [2.0, 7.0], [10.0, 22.0], [22.0, 50.0], [50.0, 70.0], [2.0, 7.0], [10.0, 22.0], [22.0, 50.0], [50.0, 70.0]]

这里:

  • [... el in my_list]迭代my_list中的字符串,将表达式(未显示)应用于每个元素,并以list;
  • el.split('-')的形式返回结果。将每个字符串转换为strings;
  • map(float, ...)列表将子列表中的每个字符串转换为浮点型。
票数 6
EN

Stack Overflow用户

发布于 2017-08-01 02:12:26

尝试使用split函数和map函数

代码语言:javascript
运行
复制
list_2 = []
for item in my_list:
    list_2.append(list(map(float,item.split('-'))))
票数 3
EN

Stack Overflow用户

发布于 2017-08-01 02:29:55

您可以尝试这样做:

代码语言:javascript
运行
复制
my_list = ['2-7', '10-22', '22-50', '50-70', '2-7', '10-22', '22-50', '50-70', '2-7', '10-22', '22-50', '50-70']

list_2 = []

for val in my_list:
  x , y = map(float, val.split('-'))
  list_2.append([x, y])

print(list_2)

输出:

代码语言:javascript
运行
复制
[[2.0, 7.0], [10.0, 22.0], [22.0, 50.0], [50.0, 70.0], [2.0, 7.0], [10.0, 22.0], [22.0, 50.0], [50.0, 70.0], [2.0, 7.0], [10.0, 22.0], [22.0, 50.0], [50.0, 70.0]]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45422575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档