You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何初始化数量可变的array数组与dictionary字典?

Python 中没有内置的定长数组类型,通常使用*列表(list)*作为可变长度的动态数组使用,针对你给出的「输入动态长度x、生成对应数量元素」的场景,初始化及相关操作方法如下:

初始化方式

逐元素追加初始化(最常用,匹配你的代码需求)

如果需要循环生成每个元素(比如你代码里每次生成独立的dict_i),直接初始化空列表,循环调用append方法追加元素即可,列表会自动扩容,无需提前指定长度:

x = int(input())
# 初始化空动态数组
my_array = []
for i in range(x):
    dict_i = {}
    # 此处可对dict_i做自定义赋值操作,比如dict_i["id"] = i
    my_array.append(dict_i)

统一初始值快速初始化

如果所有元素的初始值统一,可以直接用列表推导式生成指定长度的数组:

# 生成长度为x、所有元素为0的数组
my_array = [0 for _ in range(x)]
# 生成长度为x、每个元素都是独立空字典的数组
my_array = [{} for _ in range(x)]

注意:不要使用[{}]*x的写法生成多字典数组,该写法会让所有元素指向同一个字典的内存地址,修改任意一个元素都会同步改动所有元素。

常用操作

  • 新增元素:末尾追加用my_array.append(元素),指定索引位置插入用my_array.insert(索引, 元素)
  • 删除元素:删除指定索引位置元素用del my_array[索引],弹出末尾元素并返回值用my_array.pop(),删除第一个匹配的元素用my_array.remove(元素)
  • 访问元素:按索引直接取值my_array[索引],查询元素第一次出现的索引用my_array.index(元素)
  • 修改元素:直接给指定索引位置赋值my_array[索引] = 新值

如果是处理大批量数值计算场景,可以用numpy库的数组,计算性能远高于原生列表,初始化示例:

import numpy as np
x = int(input())
# 生成长度为x、元素全为0的整数类型numpy数组
my_np_array = np.zeros(x, dtype=int)
# 也可以把原生列表转为numpy数组
my_list = [i for i in range(x)]
my_np_array = np.array(my_list)

内容的提问来源于stack exchange,提问作者bramblephoenix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 01:06:03