如何在两个值之间添加替换/
的值?我尝试使用item.replace("/","+")
,但只用+
符号代替了/
,而没有执行其他操作。例如,如果我尝试对2/1.5
和-3/-4.5
进行逻辑处理,则会得到2+1.5
和-3+-4.5
。
我的目的是在两个值之间添加替换
/
的值并将其分为2,这样,如果我尝试对({ {1}}和1.875
)。
这是我到目前为止的尝试:
-3.75
我现在所拥有的:
2/1.5
预期的输出(将用-3/-4.5
代替for item in ['2/1.5','-3/-4.5']:
print(item.replace("/","+"))
的两个值相加,然后将结果除以二):
2+1.5
-3+-4.5
答案 0 :(得分:3)
由于/
只是一个分隔符,因此您实际上不需要将其替换为+
,而是将其与split
一起使用,然后对各部分进行汇总:
for item in ['2/1.5', '-3/-4.5']:
result = sum(map(float, item.split('/'))) / 2
print(result)
或更广义的形式:
from statistics import mean
for item in ['2/1.5', '-3/-4.5']:
result = mean(map(float, item.split('/')))
print(result)
答案 1 :(得分:1)
您可以使用eval来做到这一点:
for item in ['2/1.5','-3/-4.5']:
print((eval(item.replace("/","+")))/2)
答案 2 :(得分:1)
我的答案与其他答案没有什么不同,除了我不明白为什么每个人都使用列表。这里不需要列表,因为它不会被更改,tuple
很好并且效率更高:
for item in '2/1.5','-3/-4.5': # Don't need a list here
num1, num2 = item.split('/')
print((float(num1) + float(num2)) / 2)
答案 3 :(得分:1)
@daniel的答案的进一步阐述:
[sum(map(float, item.split('/'))) / 2 for item in ('2/1.5','-3/-4.5')]
结果:
[1.75, -3.75]
答案 4 :(得分:0)
您可以这样做(将字符串分成两个浮点数):
for item in ['2/1.5','-3/-4.5']:
itemArray = item.split("/")
itemResult = float(itemArray[0]) + float(itemArray[1])
print(itemResult/2)
答案 5 :(得分:-1)
from ast import literal_eval
l=['2/1.5','-3/-4.5']
print([literal_eval(i.replace('/','+'))/2 for i in l])