m0_69886356 2022-04-27 00:11 采纳率: 100%
浏览 178
已结题

想请教一下各位,我这样写列表生成式交换位置为什么不对?

img


假设已有列表lst=[(“triangle”,“shape”),(“red”,“color”),(“square”,“shape”),(“yellow”,“color”),(“green”,“color”),(“circle”,“shape”)],其中每个元素都是一个元组。元组中的每一个元素表示值,第二个元素表示标签。试编写程序,完成以下功能:
(1)将列表lst中的元素按照标签排序后输出。
(2)将所有的颜色值从列表lst中提取出来,存入列表lst_colors,并将该列表输出。

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 新星创作者: python技术领域 2022-04-27 01:14
    关注

    又仔细看了一下,才明白你的需求,你是想交换元组里的两个元素对吧?不需要赋值,写成s = [(i[1], i[0]) for i in lst] 就可以

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月14日
  • 已采纳回答 5月11日
  • 创建了问题 4月27日