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

如何在Python中以键值对形式打印数组及转换相关问题

Python数组键值对处理问题解答

问题1:如何在Python中以键值对形式打印数组?

如果你想把Python列表(也就是你说的数组)以键值对形式打印,用enumerate()函数是最省心的方案——它能同时拿到元素的索引和对应的值,还能自定义索引的起始数字。

方法1:直接循环打印

如果只是需要输出键值对,不需要保存成字典,可以直接在循环里处理:

my_list = ['apple', 'banana', 'cherry', 'date']
# start=1让键从1开始,默认是从0起步
for key, value in enumerate(my_list, start=1):
    print(f"键: {key}, 值: {value}")

输出结果:

键: 1, 值: apple
键: 2, 值: banana
键: 3, 值: cherry
键: 4, 值: date

方法2:生成字典后打印

如果需要把键值对保存成字典对象再输出,用字典推导式会更简洁:

my_list = ['apple', 'banana', 'cherry', 'date']
kv_dict = {key: value for key, value in enumerate(my_list, start=1)}
print(kv_dict)

输出结果:

{1: 'apple', 2: 'banana', 3: 'cherry', 4: 'date'}

问题2:转换为键从1递增、排除指定值的键值对

这个需求其实分两步:先过滤掉数组里的指定值,再给剩下的元素分配从1开始的键。我给你两种实现方式,按需选择:

方式1:简洁的字典推导式(一步到位)

original_list = ['cat', 'dog', 'ignore', 'bird', 'ignore', 'fish']
exclude_val = 'ignore'

# 先过滤掉要排除的值,再用enumerate生成从1开始的键
result_dict = {
    idx: val 
    for idx, val in enumerate(
        [v for v in original_list if v != exclude_val], 
        start=1
    )
}

print(result_dict)

输出结果:

{1: 'cat', 2: 'dog', 3: 'bird', 4: 'fish'}

方式2:分步实现(更易理解)

如果觉得推导式有点绕,拆分步骤会更清晰,适合后续添加复杂过滤逻辑:

original_list = ['cat', 'dog', 'ignore', 'bird', 'ignore', 'fish']
exclude_val = 'ignore'

# 第一步:过滤掉不需要的值
filtered_values = []
for val in original_list:
    if val != exclude_val:
        filtered_values.append(val)

# 第二步:给过滤后的元素分配从1开始的键
result_dict = {}
current_key = 1
for val in filtered_values:
    result_dict[current_key] = val
    current_key += 1

print(result_dict)

输出结果和上面完全一致,这种方式调试起来也更方便。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:57:35