我有一个列表:
Face <- matrix(c(0,-.2,-.5,
0,.2,-.5,
0,.2,.5,
0,-.2,.5), nrow=4, byrow=T)
open3d()
quads3d(Face)
play3d(spin3d(), duration = 5)
,我想从列表中删除所有的'和%,以给我一个带有整数的列表,我可以使用该整数添加到另一个列表中。我已经看到并查看了许多有关列表的问题,但似乎没有一个适用于我的情况。请帮忙!
答案 0 :(得分:3)
只需使用列表理解
values_list = ['6.26%', '5.94%', '7.47%', '6.90%', '5.99%', '7.94%',
'8.75%', '9.01%', '10.07%', '5.51%', '4.87%', '5.88%', '4.26%',
'2.97%', '6.38%', '4.93%', '3.96%', '4.62%', '3.73%', '5.15%',
'0.86%', '2.68%', '4.01%', '4.89%', '5.84%', '5.23%', '5.57%',
'5.53%', '2.39%', '1.00%', '2.44%', '4.65%', '3.66%', '4.60%',
'4.54%', '2.30%', '-1.51%', '2.36%', '3.13%', '3.12%', '1.28%',
'3.55%', '3.48%', '1.13%', '3.45%']
float_list = [float(value.strip('%')) for value in values_list]
结果是:
[6.26, 5.94, 7.47, 6.9, 5.99, 7.94, 8.75, 9.01, 10.07, 5.51, 4.87,
5.88, 4.26, 2.97, 6.38, 4.93, 3.96, 4.62, 3.73, 5.15, 0.86,
2.68, 4.01, 4.89, 5.84, 5.23, 5.57, 5.53, 2.39, 1.0, 2.44, 4.65,
3.66, 4.6, 4.54, 2.3, -1.51, 2.36, 3.13, 3.12, 1.28, 3.55,
3.48, 1.13, 3.45]
答案 1 :(得分:2)
一种简单的方法。使用for循环从字符串中删除所有%。然后,您可以将它们转换为浮点数。例如:
l = ['6.26%', '5.94%', '7.47%', '6.90%', '5.99%', '7.94%', '8.75%',
'9.01%', '10.07%', '5.51%', '4.87%', '5.88%', '4.26%', '2.97%',
'6.38%', '4.93%', '3.96%', '4.62%', '3.73%', '5.15%', '0.86%',
'2.68%', '4.01%', '4.89%', '5.84%', '5.23%', '5.57%', '5.53%',
'2.39%', '1.00%', '2.44%', '4.65%', '3.66%', '4.60%', '4.54%',
'2.30%', '-1.51%', '2.36%', '3.13%', '3.12%', '1.28%', '3.55%',
'3.48%', '1.13%', '3.45%']
new = []
for item in l:
new.append(float(l[:-1]))
l = new
新功能现在等于您的通缉名单
编辑: int()函数实际上应该是float()。这将导致字符串不丢失其十进制值。