用字典中的 int 值替换列表列表中的标记

Replace tokens from list of lists with int value from Dictionary

我有一个列表列表,每个列表中只有标记。

grade_lists = [['Very good', 'good', 'okay'], ['sufficient', 'bad', 'very bad']]

这本词典 key = stringvalue = int

month_ids = {     'Very good': 1,
                  'good': 2,
                  'okay': 3,
                  'sufficient': 4,
                  'bad': 5,
                  'very bad': 6
                  }

我可以用字典中的整数替换列表列表中的标记吗?

grade_lists = [[1, 2, 3], [4, 5, 6]]

你可以用 list comprehensions:

grade_lists = [['Very good', 'good', 'okay'], ['sufficient', 'bad', 'very bad']]
month_ids = {'Very good': 1, 'good': 2, 'okay': 3, 'sufficient': 4, 'bad': 5, 'very bad': 6}
grade_lists2 = [[month_ids[grade] for grade in sublist] for sublist in grade_lists]
print(grade_lists2)

您可以尝试遍历每个列表

temp_list, new_list = [], []

for glist in grade_lists:
    temp_list = []
    for token in glist:
        temp_list.append(month_ids[token])
    new_list.append(temp_list)

输出:

>>> new_list
[[1, 2, 3], [4, 5, 6]]