如何将用破折号“-”分隔的数字与另一个数字相乘?

鳄鱼

我正在尝试将用破折号分隔的数字与另一个数字相乘。如何有效地做到这一点?

我尝试使用strip,但是代码变得复杂。

例如:

a = '1-2,3-4,4-5'
b = '3.0'

因此,如果您将变量“ a”的第一个值(即“ 1-2”)作为参数,则应将“-”破折号后的数字乘以“ b”变量值,结果应类似于1-2 * 3.0 = 1-6.0

我的结果应如下所示:

res = '1-6.0,3-12.0,4-15.0'
尼古拉斯·史蒂文森·莫纳尔

split()是你的朋友在这里。首先,您需要将字符串分成几对:

pairs = a.split(',')

现在,您将拥有['1-2', '3-4', '4-5']

现在继续拆分这些对:

for pair in pairs:
    x, y = pair.split('-')

现在,它y仍将是一个字符串,因此在进行多次运算之前,您需要使用int(y)将其解析为一个int。由于b是字符串,因此您也将需要float(b)(或仅从头开始b = 3.0

因此,您可以将其添加到上面的外观中

for pair in pairs:
    x, y = pair.split('-')
    y = int(y)

好的,所以现在您需要存储结果。在循环之前创建一个空列表来存储新对:

multiplied_pairs = []
for pair in pairs:
    x, y = pair.split('-')
    y = int(y)
    multiplied_pairs.append('{}-{}'.format(x, y * float(b)))

最后,使用join来重新创建新的字符串,其结果为:

print(','.join(multiplied_pairs))

放在一起,您将拥有:

pairs = a.split(',')
multiplied_pairs = []

for pair in pairs:
    x, y = pair.split('-')
    y = int(y)
    multiplied_pairs.append('{}-{}'.format(x, y * float(b)))

print(','.join(multiplied_pairs))

现在进行奖金回合,如果您想使用一些生成器表达式一次完成所有操作:

print(','.join(
    '{}-{}'.format(x, int(y) * float(b)) 
    for x, y in (
        pair.split('-') for pair in a.split(',')
    )
))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查一个数字是否可被另一个数字整除(Python)?

如何找到与另一个数字最接近的数字,即2的幂?

如何对另一个数字取模进行运算而不会溢出?

如何使用python中的替换字典将一个数字替换为另一个数字?

如何在另一个数字的基础上给数字加上零?

如何过滤掉包含数字到另一个数字的div?

如何扩展给定范围的数字以包括所有由破折号分隔的数字

当另一个上升时如何降低一个数字?

如果一个数字与另一个数字过于相似,如何设置循环以使其生成新的随机数?

从字符串中获取一个数字,从结尾到破折号

如何使用MongoDB中的另一个数字字段更新数字字段

如何确保在InputBox中输入的数字小于在VBA中在InputBox中输入的另一个数字?

如何获取字符串中双下划线之间的数字并将其与另一个数字相乘?

如何将数字的格式复制到另一个数字?

如何合并两个数字并将其存储在另一个数字中

如何确定一个数字是否在另一个数字的某个范围内

如何将破折号分隔的字符串插入数据库?

如何在Tcl中用另一个数字替换字符串的数字部分?

我如何检查一个数字是高于还是低于另一个数字?

如何使用C中的按位运算符判断一个数字是否等于另一个数字

如何用文本文件中的另一个数字替换特定数字(C++)

如何将包含破折号(-)的两列相乘?

如何计算一个数字是否是另一个数字的幂?

如何将列表中的数字更改为另一个数字

如何从数组中以块的形式存储数字并创建另一个数组或列表?

如何计算包含一个数字但不包含另一个数字的数字?

如何用 selenium 和 java 比较两个数字?(一个数字来自 CSV 文件,另一个数字来自网站)

如何检查一个文件中的一个数字范围是否是另一个文件中另一个数字范围的子集?

如何对以破折号分隔的数字范围进行排序?