小编Cha*_*rat的帖子

如何在 Python 中将浮点数转换为时间格式——分钟、秒和微秒?

我正在 Python 中处理游泳结果(来自外部 xls 源),我需要将浮点数转换为时间格式——分钟、秒和微秒——以执行加法和减法运算。我正在使用这个功能:

from datetime import timedelta
def format_result(result):
    seconds = int(result)
    microseconds = int((result * 1000000) % 1000000)
    output = timedelta(0, seconds, microseconds)
    return output
Run Code Online (Sandbox Code Playgroud)

当给定的输入是 131.39 时,输出应该是 0:02:11.390000 但实际上是 0:02:11.389999。如何在没有此精度错误的情况下正确转换?

python

0
推荐指数
1
解决办法
3934
查看次数

typeerror slice索引必须是整数或无,或者具有__index__方法

我厌倦了运行这个程序,但它会在第15行给出我上面的错误程序应该评估一个预编程算术表达式,它从stdin获取一个表达式并输出结果

return (preOrder( lst [ 1 : ( (len(lst)+1)/2) ] )  +   preOrder( lst [ (len(lst) + 1)/2 : ] ))
Run Code Online (Sandbox Code Playgroud)

这是我的计划

def preOrder(lst) :
        if len(lst) == 3 :
            if lst[0] == '+' :
                return lst[1] + lst[2]
            elif lst[0] == '-' :
                return lst[1] - lst[2]
            elif lst[0] == '*' :
                return lst[1] * lst[2]
            elif lst[0] == '/' :
                return lst[1] / lst[2]
            elif lst[0] == '%' :
                return lst[1] % lst[2]
        else :
            if lst[0] == …
Run Code Online (Sandbox Code Playgroud)

python list

0
推荐指数
1
解决办法
5722
查看次数

有没有比这更好的方法来计算两个列表的协方差?

我有两个列表,其中一个由 x 坐标组成,另一个由 y 坐标组成。

x_coordinates = [1, 2, 3, 4, 5]
y_coordinates = [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

例如,point 1(1,1)

我想计算两个列表的协方差,我编写了一个代码,但我认为它有些不必要的冗长和混乱。我知道我可以只使用 math.cov 来计算这个,但我想知道是否可以巧妙地编程,也许使用 map 和 lambda 函数。

公式是这样的:

(x1 - average_x)*(y1 - average_y) + ... + (xn - average_x)*(yn - average_y) / (the number of the items in one of the lists)
Run Code Online (Sandbox Code Playgroud)

编码:

import math

x_coordinates = [1, 2, 3, 4, 5]
y_coordinates = [1, 2, 3, 4, 5]
covariance_temp_sum = 0

x_mean = math.fsum(x_coordinates) / …
Run Code Online (Sandbox Code Playgroud)

python math covariance

0
推荐指数
1
解决办法
2984
查看次数

将字典元素组合到列表列表中

我有两个内容词典:

dct1 = {'NL': 7,'MC': 9, 'PG': 8}
dct2 = {'NL': 2,'MC': 10,'PG': 6}
Run Code Online (Sandbox Code Playgroud)

你可以说这些代表了一个游戏中的分数,其中字母是名称而数字是分数.两个词典之间的差异是根据标准计算它们的数字.

现在我想将字典中的内容组合成列表列表.我将简单地提供我的代码.基本上我当时所做的就是将两个词典中的内容转换为列表列表,其中:

L1 = [['NL',7],['MC',9],['PG',8]]
L2 = [['NL',2],['MC',10],['PG',6]]
Run Code Online (Sandbox Code Playgroud)

将它们转换为列表列表的代码:

L1 = []
for i, occurrences in dct1.items():
    L1.append([i,occurrences])
L2 = []
for j, occurrences in dct2.items():
    L2.append([j,occurrences])
Run Code Online (Sandbox Code Playgroud)

一旦我打印了两个列表,我就像上面写的一样.

但是现在,我想将它们组合成一个列表,而不是有两个不同的列表,我的输出是:

L3 = [['NL',7,2],['MC',9,10],['PG',8,6]]
Run Code Online (Sandbox Code Playgroud)

基本上单个列表不必重复两次字母,只需添加第二个数字.任何帮助深表感谢.

python dictionary list nested-lists

0
推荐指数
1
解决办法
82
查看次数

Selenium WebDriver - 编译HTML字符串

我想使用Selenium WebDriver来编译html String,我发现的唯一例子是打开文件,如:

WebDriver driver = new FirefoxDriver();
driver.get("file:///C:/Users/jgong/Desktop/a.html");
Run Code Online (Sandbox Code Playgroud)

我需要:

WebDriver driver = new FirefoxDriver();
driver.get(htmlString);
Run Code Online (Sandbox Code Playgroud)

然后使用该getPageSource()方法,是否可能?

谢谢.

html java selenium selenium-webdriver

0
推荐指数
1
解决办法
902
查看次数

我的 For 循环不会迭代列表

我必须确定列表中的所有数字是否都是素数,然后根据结果返回布尔“True”或“False”语句。我在 for 循环中做了一些条件语句来查看该数字是否为素数。

这是代码:

def all_primes(xs):
    is_prime = None
    for i in xs:
        if i < 2:
            is_prime = False
            return is_prime
            break
        elif (i % 2 == 0) and (i % i == 1):
            is_prime = False
            return is_prime
            break
        else:
            is_prime = True
            return is_prime
Run Code Online (Sandbox Code Playgroud)

问题是,我在 Python Visualizer 中看到了这一点,for 循环在检查列表中的第一个值后停止迭代。我不明白为什么,因为语法与我过去使用的 for 循环相同。

我插入了一些示例值,例如:all_primes([5,2,11,37])or all_primes([5,2,4,37]),并且返回值始终为 true,因为 5 是列表中的第一个数字,也是唯一被迭代的数字。

有什么想法吗?

python iteration math primes for-loop

-2
推荐指数
1
解决办法
2386
查看次数