gpt4 book ai didi

python - 从二维数组 python 中删除引号

转载 作者:太空宇宙 更新时间:2023-11-03 14:43:29 25 4
gpt4 key购买 nike

我目前正在尝试执行代码来评估具有大指数的幂而不计算它们,而是记录它们。我有一个 file包含 1000 行。每行包含两个用逗号分隔的迭代器。我被困在我试图从数组中删除引号的地方。我尝试了很多方法,但都没有用。这是我的代码:

myLib 中名为 split() 的函数采用两个参数,其中一个是列表,第二个是要拆分原始列表的元素数。然后这样做并将较小的列表附加到新列表。

import math
import myLib

i = 0
record = 0
cmpr = 0
with open("base_exp.txt", "r") as f:
fArr = f.readlines()
fArr = myLib.split(fArr, 1)
#place get rid of quotes
print(fArr)
while i < len(fArr):
cmpr = int(fArr[i][1]) * math.log(int(fArr[i][0]))
if cmpr > record:
record = cmpr
print(record)
i = i + 1

这是我的数组的样子:

[['519432,525806\n'], ['632382,518061\n'], ... ['172115,573985\n'], ['13846,725685\n']]

我试图找到一种绕过二维数组的方法并尝试过:

i = 0
record = 0
cmpr = 0
with open("base_exp.txt", "r") as f:
fArr = f.readlines()
#fArr = myLib.split(fArr, 1)
fArr = [x.replace("'", '') for x in fArr]
print(fArr)
while i < len(fArr):
cmpr = int(fArr[i][1]) * math.log(int(fArr[i][0]))
if cmpr > record:
record = cmpr
print(i)
i = i + 1

但是输出看起来像这样:

['519432,525806\n', '632382,518061\n', '78864,613712\n', ...

并且当前状态下的数字不能被视为整数或 float ,所以这也不起作用......:

[int(i) for i in lst]

数组本身的预期输出如下所示,因此我可以选择其中一个数字并使用它:

[[519432,525806], [632382,518061], [78864,613712]...

我真的很感谢你的帮助,因为我对 python 和一般编程还是很陌生。

感谢您的宝贵时间。

最佳答案

您可以通过简单地使用 numpy's 来避免所有您的问题方便的loadtxt函数:

import numpy as np
arr = np.loadtxt('p099_base_exp.txt', delimiter=',')
arr

array([[519432., 525806.],
[632382., 518061.],
[ 78864., 613712.],
...,
[325361., 545187.],
[172115., 573985.],
[ 13846., 725685.]])

如果你需要一个一维数组:

arr.flatten()
# array([519432., 525806., 632382., ..., 573985., 13846., 725685.])

关于python - 从二维数组 python 中删除引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51410509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com