python-3.x - 将 LIST A 中的列表项与元组列表 LIST B 中的每个第一个元素进行比较
问题描述
我的问题与这个问题几乎相似 -将列表与元组列表进行比较?但我正在寻找一个解决方案来比较.....
我有
ListA = [2, 1, 1, 1, 1]
ListB =[(1, 'Poor'), (2, 'Average'), (3, 'Excellent')]
元组列表。
最后,我想生成一个新的元组列表 - LISTC 包含 LIST A 中的所有元素,如下所示
[(2, 'Average'), (1,'Poor'), ( 1, 'Poor') , (1 ,'Poor') , (1, 'Poor')]
我试过这个 -
first_tuple_elements = [element[0] for element in LISTB]
final_list_of_tuples = ()
for i in LISTA:
for i in first_tuple_elements:
final_list_of_tuples = [(i, element[1]) for element in LISTB]
print(final_list_of_tuples)
以上没有给我我想要的,请协助
LISTB 是来自数据库查询的结果集,而 LISTA 是计算结果集,然后我需要将其与 LISTB 中的项目进行比较,以便生成
列表[(2, 'Average'), (1,'Poor'), ( 1, 'Poor') , (1 ,'Poor') , (1, 'Poor')]
解决方案
首先转换ListB
为字典:
ListA = [2, 1, 1, 1, 1]
ListB = [(1, 'Poor'), (2, 'Average'), (3, 'Excellent')]
d = dict(ListB)
ListC = [(v, d[v]) for v in ListA]
print(ListC)
印刷:
[(2, 'Average'), (1, 'Poor'), (1, 'Poor'), (1, 'Poor'), (1, 'Poor')]
推荐阅读
- python - 如何正确地将扩展的 ASCII 字符放入 CSV 文件?
- php - Zapier REST 订阅钩子无法在 PHP 中解析
- c# - IntPtr.add 不存在
- c# - Moq:如何验证一个动作
参数是一个空函数? - azure - 如何运行耗时超过 20 分钟的 Azure Cloud Shell 脚本?有没有办法防止 Azure Cloud Shell 中的超时?
- swagger - Swashbuckle Swagger Asp.Net Core 将 Api 键作为请求中的默认标头值传递
- javascript - 使用 async/await 时如何检查特定的后端错误键?
- excel - 在输入框处于活动状态时运行 Worksheet_SelectionChange 事件
- android-studio - Android Studio 布局预览中的渲染问题
- c - 如何修复 C 中的地址边界错误?