鱼C论坛

 找回密码
 立即注册
查看: 1250|回复: 3

[已解决]活学活用:请使用列表推导式补充被小甲鱼不小心涂掉的部分

[复制链接]
发表于 2020-8-11 10:52:17 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 xiaojiayu555 于 2020-8-11 10:54 编辑

list1=['1.just do it','2.一切皆有可能','3.编程改变世界','4. impossible is nothing']
list2=['4.阿迪达斯','2.李宁','3.工作室','1.耐克']
list3=[]
for slogan in list1:
        for name in list2:
                if slogan[0]==name[0]:
                        list3.append(name + ':'+ slogan[3:])
list1[0]
'1.just do it'
list2[3]
'1.耐克'
list1[0] == list2[3]
False
#上面的if怎么成立的
最佳答案
2020-8-11 11:38:49
本帖最后由 uune 于 2020-8-11 11:42 编辑

if判断的是:for循环出来的列表中的元素(字符串)
并把循环出来的字符串赋值给变量(slogan和name,都是字符串)
slogan[0] == slogan(字符串)下标为0的字符,name[0] == name(字符串)下标为0的字符

lis1[0] 和 lis2[3]获取的是列表中的元素(这个上面的2个for循环就做到了)
因为:lis1[0] == '1.just do it',而lis2[3] ==  '1.耐克'
所以:'1.just do it' == '1.耐克',肯定返回False

我们想要的结果:
'1.just do it'[0] == '1'
'1. 耐克'[0] == '1'
如果想要在for循环外面判断:lis1[0][0] == lis2[3][0],就会返回True。因为'1'=='1'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-11 10:53:05 | 显示全部楼层

回帖奖励 +10 鱼币

判断序号呀,这俩列表里面每一个元素的第一个字符都是序号(数字),只要判断这俩是否相等就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-11 11:38:49 | 显示全部楼层    本楼为最佳答案   
本帖最后由 uune 于 2020-8-11 11:42 编辑

if判断的是:for循环出来的列表中的元素(字符串)
并把循环出来的字符串赋值给变量(slogan和name,都是字符串)
slogan[0] == slogan(字符串)下标为0的字符,name[0] == name(字符串)下标为0的字符

lis1[0] 和 lis2[3]获取的是列表中的元素(这个上面的2个for循环就做到了)
因为:lis1[0] == '1.just do it',而lis2[3] ==  '1.耐克'
所以:'1.just do it' == '1.耐克',肯定返回False

我们想要的结果:
'1.just do it'[0] == '1'
'1. 耐克'[0] == '1'
如果想要在for循环外面判断:lis1[0][0] == lis2[3][0],就会返回True。因为'1'=='1'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-11 12:56:06 | 显示全部楼层

你的 list1[0] == list2[3] 是指索引列表的元素,而上面的 if 是通过 for 循环出列表中字符串,然后对字符串的字符进行索引,你举的例子,和题目中的不是一种类别的

详解看看这个吧:
python 第12讲的课后习题第六题
https://fishc.com.cn/thread-175291-1-1.html
(出处: 鱼C论坛)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 11:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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