相关疑难解决方法(0)

Python列表有多大?

在Python中,列表有多大?我需要一个大约12000个元素的列表.我还能运行排序等列表方法吗?

python size list

108
推荐指数
7
解决办法
15万
查看次数

内存上限?

python的内存是否有限制?我一直在使用python脚本来计算文件的平均值,该文件最小值为150mb.

根据文件的大小,我有时会遇到一个MemoryError.

可以为python分配更多的内存,所以我没有遇到错误?


编辑:现在的代码如下

注意:文件大小可能有很大差异(最大为20GB),文件的最小大小为150mb

file_A1_B1 = open("A1_B1_100000.txt", "r")
file_A2_B2 = open("A2_B2_100000.txt", "r")
file_A1_B2 = open("A1_B2_100000.txt", "r")
file_A2_B1 = open("A2_B1_100000.txt", "r")
file_write = open ("average_generations.txt", "w")
mutation_average = open("mutation_average", "w")

files = [file_A2_B2,file_A2_B2,file_A1_B2,file_A2_B1]

for u in files:
    line = u.readlines()
    list_of_lines = []
    for i in line:
        values = i.split('\t')
        list_of_lines.append(values)

    count = 0
    for j in list_of_lines:
        count +=1

    for k in range(0,count):
        list_of_lines[k].remove('\n')

    length = len(list_of_lines[0])
    print_counter = 4

    for o in range(0,length):
        total = 0 …
Run Code Online (Sandbox Code Playgroud)

python memory

25
推荐指数
5
解决办法
12万
查看次数

Numpy,长数组的问题

我有两个数组(a和b),其中n个整数元素在范围(0,N).

错字:具有2 ^ n个整数的数组,其中最大整数取值N = 3 ^ n

我想计算a和b中每个元素组合的总和(对于所有i,j, sum_ij_ = a_i_ + b_j_ ).然后取模数N(sum_ij_ = sum_ij_%N),最后计算不同总和的频率.

为了快速执行numpy,没有任何循环,我尝试使用meshgrid和bincount函数.

A,B = numpy.meshgrid(a,b)
A = A + B
A = A % N
A = numpy.reshape(A,A.size)
result = numpy.bincount(A)
Run Code Online (Sandbox Code Playgroud)

现在,问题是我的输入数组很长.当我使用2 ^ 13个元素的输入时,meshgrid给了我MemoryError.我想计算具有2 ^ 15-2 ^ 20个元素的数组.

这是n在15到20的范围内

numpy有没有聪明的技巧呢?

任何帮助将受到高度赞赏.

- 琼

python math numpy

13
推荐指数
1
解决办法
3万
查看次数

标签 统计

python ×3

list ×1

math ×1

memory ×1

numpy ×1

size ×1