鱼C论坛

 找回密码
 立即注册
查看: 2969|回复: 6

课后题

[复制链接]
发表于 2023-1-9 16:33:00 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 奥特曼大战乌龟 于 2023-1-9 17:03 编辑

图1 是自己根据课后题 用笨法子自己写的  图2 ,是课后题答案,结果是一样但显然我自己做的要复杂的多,可是又不明白上面那些名字都是怎么来的就很懵

1

1

2

2

3

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

使用道具 举报

 楼主| 发表于 2023-1-9 16:35:01 | 显示全部楼层
我图呢??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-9 16:59:51 | 显示全部楼层

你的贴子下面有一个编辑 , 点进去重传一下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-1-9 17:04:02 | 显示全部楼层
柿子饼同学 发表于 2023-1-9 16:59
你的贴子下面有一个编辑 , 点进去重传一下吧

有图啦有图啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-9 22:03:37 | 显示全部楼层
创建 list3 的代码相当于以下代码 :
list3 = list()

for slogan in list1:
    for name in list2:
        if slogan[0] == name[0]:
            list3.append(name + ': ' + slogan[2: ])
list3 答案的写法是列表推导式 , 等价于上面的写法
不理解就照着多看看 , 也没什么好的方法
slogan[2: ] 是 切片 语法 , 代表 除了前两个元素的slogan , 因为要把口号的前两个字符删掉
就是那个序号
观察两个列表发现对应的名字和扣号都有一样的序号 , 所以判断是否相符就是判断
第一个字符是否相同
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-1-10 15:08:49 | 显示全部楼层
list3 = [name + ":" + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
list3是一个嵌套的列表推导式,list3 = [name + ":" + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]写成普通形式:
list3 = []
for slogan in list1:
    for name in list2:
        if slogan[0] == name[0]:
            list3.append(name + ":" + slogan[2:])
list3 = [name + ":" + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]的执行顺序就和上面的代码一样:
1.先使用第一个循环体对list1列表进行迭代,并把每次迭代的对象给slogan变量
2.第一个循环体每迭代出一个对象,第二个循环体就开始对list2列表进行迭代,并把每次迭代的对象给name变量
3.当第二个循环体每迭代出一个对象,就将第一个循环体的对象与第二个循环体对象比较是否相等
4.若相等就根据表达式将对应变量添加进list3中

弱弱的说一句,你自己写的那个,里面的for语句是多余的,直接print(str(list3))就行,没必要进行迭代,全列表中一共就一个元素
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-18 21:02:04 | 显示全部楼层
ww185912 发表于 2023-1-10 15:08
list3 = [name + ":" + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
lis ...

谢谢,刚开始确实是有点懵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 13:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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