鱼C论坛

 找回密码
 立即注册
查看: 2474|回复: 9

[已解决]关于python中的list的问题

[复制链接]
发表于 2021-6-30 12:52:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有这么几门课
first_year_courses = { "COMP1010": 45, "COMP1511": 560, "COMP1911": 100, "MATH1131": 1034, "MATH1231": 895, "FINS1612": 423, "FINS1613": 587, "ACCT1501": 327 }

构建一个包含超过 500 名学生的所有课程的列表。你应该得到这个结果:
["COMP1511", "MATH1131", "MATH1231", "FINS1613"]

好兄弟请问下这个怎么写
最佳答案
2021-6-30 17:28:00
我来写一个简洁明了的,楼上的大佬们的答案不太适合初学者去理解
first_year_courses = {"COMP1010": 45, "COMP1511": 560, "COMP1911": 100,
                      "MATH1131": 1034, "MATH1231": 895, "FINS1612": 423, "FINS1613": 587, "ACCT1501": 327}

result_list = []

for key, value in first_year_courses.items():
    if value >= 500:
        result_list.append(key)

print(result_list)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-30 12:54:05 | 显示全部楼层
first_year_courses = { "COMP1010": 45, "COMP1511": 560, "COMP1911": 100, "MATH1131": 1034, "MATH1231": 895, "FINS1612": 423, "FINS1613": 587, "ACCT1501": 327 }
lst = [i for i,j in first_year_courses.items() if j >=500]
print(lst)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-30 13:10:06 | 显示全部楼层

first_year_courses = { "COMP1010": 45, "COMP1511": 560, "COMP1911": 100, "MATH1131": 1034, "MATH1231": 895, "FINS1612": 423, "FINS1613": 587, "ACCT1501": 327 }
result = list(filter(lambda x:first_year_courses[x] > 500, first_year_courses))
print(result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-30 14:27:10 | 显示全部楼层
first_year_courses = { "COMP1010": 45, "COMP1511": 560, "COMP1911": 100, "MATH1131": 1034, "MATH1231": 895, "FINS1612": 423, "FINS1613": 587, "ACCT1501": 327 }
x = [k for k , v in first_year_courses . items() if v >= 500]
print(x)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-30 16:20:06 | 显示全部楼层
涨芝士的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-30 17:28:00 | 显示全部楼层    本楼为最佳答案   
我来写一个简洁明了的,楼上的大佬们的答案不太适合初学者去理解
first_year_courses = {"COMP1010": 45, "COMP1511": 560, "COMP1911": 100,
                      "MATH1131": 1034, "MATH1231": 895, "FINS1612": 423, "FINS1613": 587, "ACCT1501": 327}

result_list = []

for key, value in first_year_courses.items():
    if value >= 500:
        result_list.append(key)

print(result_list)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-30 17:30:28 | 显示全部楼层
用海象运算符可以两行
first_year_courses = {"COMP1010": 45, "COMP1511": 560, "COMP1911": 100,"MATH1131": 1034, "MATH1231": 895, "FINS1612": 423, "FINS1613": 587, "ACCT1501": 327}
print(result_list := [key for key,value in first_year_courses . items() if value >= 500])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-1 10:10:39 | 显示全部楼层
Daniel_Zhang 发表于 2021-6-30 17:28
我来写一个简洁明了的,楼上的大佬们的答案不太适合初学者去理解

我想请问下,为什么这个代码print出来每个元素是单引号啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-1 16:25:19 | 显示全部楼层
Estinien 发表于 2021-7-1 10:10
我想请问下,为什么这个代码print出来每个元素是单引号啊

额,这个不影响的啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-7-1 20:42:14 | 显示全部楼层
Daniel_Zhang 发表于 2021-7-1 16:25
额,这个不影响的啊

噢哦,不好意思,就是有点好奇
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 19:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表