【python浮点数与整数间的转化】教程文章相关的互联网学习教程文章

使用浮点数和整数解析python字符串【代码】

我有数百个字符串都具有相同的格式 – 2个整数后跟三个浮点数.一个例子:1 10 1.2345 5.4321 10.5647我只想逐一取出这些字符串并将它们解析为各自的整数和浮点数.我可以想到一些方法来做到这一点,但我希望python会有一些优雅的东西,它是用于写作的str.format的反转.这似乎是非常基本的功能,所以如果我问的是已经回答的问题,我很抱歉,但我无法在任何地方找到解决方案.有什么想法吗?谢谢.解决方法:我觉得你最好用numpy的genfromtxt...

python – 对于给定的浮点数列表,有没有办法可以找到给定整个部分的最大小数部分?【代码】

我遇到了这个问题,在那里我被绊倒了.问题是这个.我有一个这样的列表:L = [2.1, 2.2, 2.3, 2.4, 2.5, 3.1, 3.2, 3.3, 3.4, 4.1, 4.2, 4.3, 4.4, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 6.1, 6.2, 6.3, 6.4, 6.5, 7.1, 7.2, 7.3, 7.4, 7.5, 8.1, 8.2, 8.3, 8.4, 8.5, 9.1, 9.2, 9.3, 9.4, 9.5, 10.1, 10.2, 10.3, 10.4, 10.5, 11.1, 11.2, 11.3, 11.4, 11.5, 12.1, 12.2, 12.3, 12.4, 12.5]需要:ans = [[2,5],[3,4],[4,4],……] 即整数和最...

快速Pythonic方法将许多字符串列表转换为浮点数列表,同时捕获ValueErrors【代码】

我在Python中有大约5000万个字符串列表,如下所示:["1", "1.0", "", "foobar", "3.0", ...]我需要将这些转换为浮动列表和Nones,如下所示:[1.0, 1.0, None, None, 3.0, ...]目前我使用的代码如下:def to_float_or_None(x):try:return float(x)except ValueError:return Noneresult = [] for record in database:result.append(map(to_float_or_None, record))to_float_or_None函数总共花费大约750秒(根据cPro??file)…有没有更快的...

python – 错误:列表索引必须是整数而不是浮点数【代码】

下面的代码应该从学生的字典中获取标记列表并计算学生的平均分数.我得到“TypeError:list indices必须是整数,而不是float”错误.alice = {"name": "Alice","homework": [100.0, 92.0, 98.0, 100.0],"quizzes": [82.0, 83.0, 91.0],"tests": [89.0, 97.0] }# Averege function is given below for calculating avg def average(lst):l=float(len(lst))total = 0.0#code works till here the error occoured belowfor item in lst:a...

python – 无法将字符串列表转换为浮点数【代码】

我的程序应该读取带有一堆数字的文本文档,并列出只有正数的列表.我无法将文本文档中的字符串转换为浮点数,因此我无法确定它们是否是正面的. 我链接了一个截图,因为我的副本粘贴有问题. http://i.stack.imgur.com/L1Z7z.png 没有数字=浮点数(数字),我得到[‘3.7′,’ – 22′,’3500′,’38’,’ – 11.993′,’2200′,’ – 1′,’3400′,’3400′ ,’ – 3400′,’ – 22′,’12’,’11’,’10’,’9.0′]解决方法:您可以轻松...

Python:大型浮点数的小数部分【代码】

我试图得到(pow(10,i) – 1)/ 23的小数部分为0<我<我试过了 (pow(10, i) - 1)/23 % 1在Python 3中,但是对于i大于17的所有值,我得到0.0. 如何在Python中提取大整数的小数部分?解决方法:为了保持精度,我可能会使用fractions模块:>>> from fractions import Fraction >>> Fraction(10) Fraction(10, 1) >>> Fraction(10)**50 Fraction(100000000000000000000000000000000000000000000000000, 1) >>> Fraction(10)**50-1 Fraction(9...

python 用map和reduce实现字符串转浮点数【代码】

# -*- coding: utf-8 -*- from functools import reducedef str2float(s):digits = {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}def char2num(s):return digits[s]def to_int(x, y):return x*10 + ym = 0for b in s:if b == '.':s1 = map(char2num, s[:m])s2 = map(char2num, s[m+1:])num1 = reduce(to_int, s1)num2 = reduce(to_int, s2)/10**len(s[m+1:])return num1+num2breakm = m+1 print('str2f...

Python打印出浮点数或整数【代码】

如果结果有小数,我如何打印出浮点数或如果结果没有小数则打印出整数?c = input("Enter the total cost of purchase: ") bank = raw_input("Enter the bank of your credit card (DBS, OCBC, etc.): ") dbs1 = ((c/float(100))*10) dbs2 = c-dbs1 ocbc1 = ((c/float(100))*15) ocbc2 = c-ocbc1if (c > 200):if (bank == 'DBS'):print('Please pay $'+str(dbs2))elif (bank == 'OCBC'):print('Please pay $'+str(ocbc2))else:print(...

python – 找出列表中任何浮点数的两个最接近的数字【代码】

我有一个dict,浮点数作为键,对象作为值.我收到一个浮动,我想知道浮动的两个键之间.我怎么找到这个? 我在代码中的含义示例:a = {} a[1.2] = some_unimportant_instance a[2.3] = some_other_unimportant_instance a[2.6] = some_third_unimportant_instance etc...r = 2.5 # a[r] will not work # I want something that returns the two numbers around r # in this case, 2.3 and 2.6.解决方法:首先观察:dict-s对此不利.它们使...

我需要一种干净的方法来检查Python中的范围检查浮点数【代码】

我正在寻找一种在Python中使用范围检查浮点数的简单方法,其中最小和最大边界可能为空. 有问题的代码是:tval = float(-b - discriminant) / float (2*a)if tval >= tmin and tval <= tmax:return tval tval = float(-b + discriminant) / float (2*a)if tval >= tmin and tval <= tmax:return tval# Neither solution was within the acceptable range.return None但是,这完全无法处理tmin或tmax为None的情况(应解释为分别表示没有...

Python从浮点数中获取最低有效数字(不使用字符串操作)【代码】

假设我有浮点数12345.6789并且我希望使用python(v.2.6)中的位操作将六个最低有效位(即45.6789)作为int(即456789). 我怎么做? 谢谢 PS我不想使用字符串操作,即使它很容易:对于任何浮点数f:int(str(int(f * 1000))[-10:])编辑:这个原始问题毫无意义,如内部评论所示.许多道歉…而不是使用字符串获取最低有效数字的方法如下所示(使用整数和模数)解决方法: >>> a = 12345.6789 >>> b = int(a*10000) >>> b 123456789 >>> c = b % 10...

python – 打印浮点数的前导零【代码】

我想打印一些东西:>>> print "%02i,%02i,%02g" % (3, 4, 5.66) 03,04,5.66但这不正确.如果你注意到,零被正确预先填写到所有整数浮点(前两个数字).我需要它,如果小数点左边有一个数字,将有一个前导零. 即上面的解决方案应该返回:03,04,05.66我究竟做错了什么?解决方法:对于g,指定和宽度和精度:>>> print "%02i,%02i,%05.3g" % (3, 4, 5.66) 03,04,05.66f与g 这里说明了f和g之间的差异:>>> print "%07.1f, %07.1f, %07.1f" % (1...

Python将浮点数舍入到最接近的0.05【代码】

我想模仿this function.我想将浮点数舍入到最接近的0.05的倍数(或者通常是最接近的倍数). 我要这个:>>> my_magical_rounding(1.29, 0.05) 1.25>>> my_magical_rounding(1.30, 0.05) 1.30我可以做这个:import math def my_magical_rounding(n, r):return n - math.fmod(n, r)>>> my_magical_rounding(1.27, 0.05) 1.25 # Yay!>>> my_magical_rounding(1.30, 0.05) 1.25 # Boo! I want 1.30.大概是由于浮点舍入. 我可以进行一些...

Python – 如何将浮点数舍入为1位有效数字【代码】

我想将浮点数向下舍入到特定数量的有效数字.非常类似于这个答案:https://stackoverflow.com/a/3411435/281021但不是正常的round()行为,它应该总是向下舍入.我不能使用math.floor()因为它将float转换为int. 基本上,0.45应该变为0.4而不是0.5.并且1945.01应该变为1000.0而不是2000.0.解决方法:科学表征似乎是要走的路,但数字技术通常比字符串技术更快.你确实得到偶然的浮点错误…from math import *def roundDown(x, sigfigs=1): #t...

python – 如何生成与比例无关的随机浮点数?【代码】

我想生成我选择称之为“任意”正浮点数的东西;也就是说,随机数与尺度无关(换句话说,是对数均匀分布的数字).我不是一个数学家,所以我知道我可能会有另一个名字. 这是我最初的,天真的解决方案:import sys import randomdef arbitrary(min=sys.float_info.min_10_exp, max=sys.float_info.max_10_exp):return 10 ** random.uniform(min, max)令我感到震惊的是,这可能并不理想:首先,我认为random.uniform()的有限精度与浮点表示本身之...