鱼C论坛

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

012讲里面的老师语句看不懂

[复制链接]
发表于 2019-9-19 11:19:49 | 显示全部楼层 |阅读模式

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

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

x
这是老师的
list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]

这是我改进的:
list1 = ['1.Jost do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is Nothing']
list2 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
list3 = []
for slogan in list1:
     for name in list2:
          if slogan[0] == name[0]:
               list3.append((name + ':' + slogan[2:]))
for each in list3:
     print (each)

但是这里面的slogan[0]  和 slogan[2:] 我没看懂,为什么 要加个序号[0]和[2],比如:member=['a','小甲鱼','123'],这里面slogan和和来了个带序号的索引,实在不懂!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-9-19 11:22:58 | 显示全部楼层
去仔细看前面的学习内容吧,list1[0][2:] == 'just do it'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-19 11:26:29 | 显示全部楼层
本帖最后由 jackz007 于 2019-9-19 11:34 编辑

      slogan[0] 代表字符串的索引为 0 的元素,也就是第一个字符,slogan[2 :] 代表截取字符串从索引 2 开始到结尾的所有元素,也就是 slogan 从第 3 个字符开始到结束。

      member=['a','小甲鱼','123']
      那么,member[0] = 'a' , member[1] = '小甲鱼' , member[2] = '123'

      看不懂就猜,猜了就试,反正 IDLE 环境很方便,当你的猜测得到验证的时候就是你取得实质性进步的时候。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-19 11:41:16 | 显示全部楼层
这个问题已经被发过很多次了:https://fishc.com.cn/forum.php?m ... d=146643#pid4091289
  1. list1 = ['1.jost do it','2.一切皆有可能呢','3.让编程改变世界','4.Impossible']
  2. list2 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
  3. #list3 = [name+':'+slogan[2:]for slogan in list1 for name in list2 if slogan[0]==name[0]]
  4. #for each in list3:
  5.         #print(each)

  6. #我们看到list1里面的元素是'1.jost do it'  这个口号是nike的口号,而在list2中我们看到了'1.耐克'题意就是把品牌和品牌的口号正确的串联到一起。所以就有了list3.
  7. #现在回头看看list3  这个是一个列表推导式,看不懂可以把列表推导式恢复成正常代码,如下:

  8. list3 = []
  9. for slogan in list1:
  10.     for name in list2:
  11.         if slogan[0] == name[0]:#比较两个列表的第一个元素1==1,2==2以此类推,满足条件的话就把品牌和口号用'+'连接到一起
  12.             sss = name + ':' + slogan[2:] #可以把连接好的字符串赋值给一个变量随便一个名字这里叫做sss
  13.             list3.append(sss)#把得到的组合好的字符串append到list3中和list3.append(name +':' + slogan[2:])是一个意思

  14. for each in list3:
  15.     print(each)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 10:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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