python bignum数组?
我对python非常陌生 我想要一个正好有10000个大整数的数组(任意精度) 我试着这样做:python bignum数组?,python,Python,我对python非常陌生 我想要一个正好有10000个大整数的数组(任意精度) 我试着这样做: M = [] M[0] = 1 M[1] = 1 for k in range(2,10001): M[k] = ... 但我得到: IndexError: list assignment index out of range 我应该使用什么数据结构,如何初始化它并为它保留空间?列表初始化不正确 尝试M=[0]*10000。这将为您提供一个正确大小的列表。只需将0替换为您想要的
M = []
M[0] = 1
M[1] = 1
for k in range(2,10001):
M[k] = ...
但我得到:
IndexError: list assignment index out of range
我应该使用什么数据结构,如何初始化它并为它保留空间?列表初始化不正确
尝试
M=[0]*10000
。这将为您提供一个正确大小的列表。只需将0
替换为您想要的任何默认值(或随后用正确的值覆盖它)。列表未正确初始化
尝试M=[0]*10000
。这将为您提供一个正确大小的列表。只需将0
替换为您想要的默认值(或随后用正确的值覆盖即可)。要保留空间:
M = [0] * 10000
然后您可以使用:
M[0]=1
M[1]=1
对于范围(210001)内的k:
M[k]=…要保留空间:
M = [0] * 10000
然后您可以使用:
M[0]=1
M[1]=1
对于范围(210001)内的k:
与JavaScript不同,如果数组元素不存在,则不能按索引分配数组元素。我建议您只需将以下内容附加到数组:
M = []
for k in range(1,10001):
M.append(k)
如果密钥很重要,您需要任意创建它们,请使用dict
:
M = {}
for k in range(1,10001):
M[k] = ...
与JavaScript不同,如果数组元素不存在,则不能按索引分配数组元素。我建议您只需将以下内容附加到数组:
M = []
for k in range(1,10001):
M.append(k)
如果密钥很重要,您需要任意创建它们,请使用dict
:
M = {}
for k in range(1,10001):
M[k] = ...
<> P>使用大数组,可以考虑使用NASIC计算包和高效存储和操作大型数组。你可以这样做:
import numpy as np
M = np.arange(10000)
M[:2] = 1
为了保持纯python的风格,我会:
M = list(xrange(10000))
M[0] = 1
M[1] = 1
使用IPython(用于播放python的推荐命令行解释器)的计时:
<> P>使用大数组,可以考虑使用NASIC计算包和高效存储和操作大型数组。你可以这样做:
import numpy as np
M = np.arange(10000)
M[:2] = 1
为了保持纯python的风格,我会:
M = list(xrange(10000))
M[0] = 1
M[1] = 1
使用IPython(用于播放python的推荐命令行解释器)的计时:
代码
m=[]
m、 追加(1)
m、 追加(2)
m、 追加(3)
对于范围(21000)内的k:
印刷品(m)
对于面向对象,这将有利于追加和删除
adv:操作简单,使用方便,灵活性高 代码
m=[]
m、 追加(1)
m、 追加(2)
m、 追加(3)
对于范围(21000)内的k:
印刷品(m)
对于面向对象,这将有利于追加和删除
adv:操作简单,使用方便,灵活性高 下面的答案是正确的,但应该注意的是,这样做并不常见。当你需要的时候,或者当你有了你真正想放进去的数据时,就列出来。下面的答案是正确的,但是应该注意的是,这样做并不常见。只要在需要的时候,或者当您有实际想要放入的可用数据时,就可以创建列表。您的第一个示例最好写为
M=[k代表范围内的k(110001)]
(或者更简单地说:M=range(110001)
(在python 2.x中)。我只使用列表理解,因为每当您使用for循环和append创建列表时,您应该问问自己列表理解是否合适。@mgilson:我理解。请随意用这些更深入的方法附加到我的答案中。我把它保持得非常简单,因为OP对python的了解不是很深。您的第一个示例最好写为M=[k代表范围内的k(110001)]
(或者更简单地说:M=range(110001)
,在Python2.x中)。我只使用列表理解,因为每当您使用for循环和append创建列表时,您应该问问自己列表理解是否合适。@mgilson:我理解。请随意用这些更深入的方法附加到我的答案中。我把它保持得非常简单,因为OP对python的理解不是很深。小心地在这里使用array
这个词。我会说“这会给你一个正确大小的列表”。我还要解释一下,在python中,“数组”是(稍微)不同的,正确的术语是list
。(这可能是谷歌搜索时需要了解的有用信息)。小心在此处输入单词array
。我会说“这会给你一个正确大小的列表”。我还要解释一下,在python中,“数组”是(稍微)不同的,正确的术语是list
。(这是谷歌搜索时需要了解的有用信息)。