我有以下格式的清单:
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']
如您所见,它包含的字符串是间隔。在
我正在尝试将此列表转换为以下格式:
^{pr2}$我一直在尝试使用以下结构:
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)
这个代码的问题是它将两位数字转换成两个独立的数字。而且,总的来说,这并不是一个最佳的解决方案。在
有谁能给个指导或建议吗?在
干杯:) 提前谢谢你。在
您是在正确的轨道上,但是您缺少的关键是^{} 方法,它可以完成这里大部分的繁重工作。在
另外,我个人会在顶层使用列表理解来简化代码:
这里:
[... el in my_list]
迭代my_list
中的字符串,将表达式(未显示)应用于每个元素,并以列表形式返回结果el.split('-')
在破折号处拆分每个元素,将每个字符串转换为字符串列表map(float, ...)
将子列表中的每个字符串转换为浮点。在你可以这样做:
输出:
^{pr2}$尝试分割函数和映射函数
相关问题 更多 >
编程相关推荐