首页 > 解决方案 > 列表索引错误 - 通过索引组合列表元素

问题描述

'Original String = 1234 A 56 78 90 B'

def func_1(one_dict):
    global ends
    ends = []
    for x in original_string:
        if x in one_dict:
            ends.append(one_dict[x])
    return ends

以上返回:

['B', 'A']

我的下一个函数应该将它们组合成 1 个字符串并从字典中获取值。我已经尝试过使用/不使用strinmult_ends的情况,结果相同。

def func_2(two_dict):
    global mult_ends
    mult_ends = str(ends[0] + ends[1])
    for key in mult_ends:
        if key in two_dict:
            return two_dict[key]

结果让我感到困惑,因为我在其他功能中使用完全相同的过程没有问题。

IndexError: list index out of range

明明有 0 和 1 时,为什么列表索引会超出范围?我也添加global ends到 func_2 并且我仍然收到同样的错误。

*** 重组功能为 1 ***

def func_1(one_dict):
    global ends
    ends = []
    for x in original_string:
        if x in one_dict:
            ends.append(one_dict[x])
    mult_ends = ends[0] + ends[1]
    for key in two_dict:
        if key in mult_ends:
            return ends_final_dict[key]
    return None

现在,它实际上做了我想要它做的事情并在事件日志中返回正确的字典键:

A B

但是,当我尝试将它重新插入到用户的 GUI 中时,它不会返回,它仍然会抛出IndexError: list index out of range.

标签: python-3.xlistindexing

解决方案


推荐阅读