鱼C论坛

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

[争议讨论] Python:问题贴之列表推导式 2

[复制链接]
最佳答案
334 
发表于 2017-8-8 21:19:11 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

x
列表推导式问题:

我的天啊,只用了一句话就这么强悍!可是,并不是很理解,,,

  1. list1 = ['1,just do it','2,一切皆有可能','3,让编程改变世界',]
  2. list2 = ['3,鱼c工作室’,‘1,耐克','2,李宁']
  3. list3 = [name + ':' +slogn[2:]for slogn in list1 for name in list2 if name[0] == slogn[0]]
  4. for each in list3:
  5.     print(each)
复制代码


令人震惊的第三行的真正内幕!!!

  1. for slogn in list1:
  2.     for name in list2:
  3.         if name[0] == slogn[0]:
  4.             list3 = [name + ':' +slogn[2:]]
复制代码


这样就好理解了吧
   


最佳答案
0 
发表于 2017-9-27 17:11:49 | 显示全部楼层
有点看不懂,这个slogan系统是怎么识别的?你没有给它下定义啊
@楼主
最佳答案
334 
 楼主| 发表于 2017-9-27 17:45:42 | 显示全部楼层
小小铁匠 发表于 2017-9-27 17:11
有点看不懂,这个slogan系统是怎么识别的?你没有给它下定义啊
@楼主

挠头.jpg
最佳答案
0 
发表于 2017-10-25 10:11:05 From FishC Mobile | 显示全部楼层
不懂
最佳答案
0 
发表于 2017-11-10 22:07:52 | 显示全部楼层
终于看懂了!感谢!
最佳答案
0 
发表于 2017-11-17 11:46:15 From FishC Mobile | 显示全部楼层
小小铁匠 发表于 2017-9-27 17:11
有点看不懂,这个slogan系统是怎么识别的?你没有给它下定义啊
@楼主

这就是一名称,你可以随意取,哪怕是fbffjfhdgbdcdhd
最佳答案
1 
发表于 2018-6-28 09:01:05 From FishC Mobile | 显示全部楼层
如果sologan取得值是[2:],那么第二次循环name取得是2.李宁,这个和sologan[2:]没法匹配啊,因为sologan[2:]里没有2.一切皆有可能,那要怎么匹配。而且如果第一个给list3的值是 4.阿迪达斯:4.Impossible,那么打印出来是1.耐克: 1.Joat do It呢,而且打印出来list1里边元素的1.2.3.4怎么都没了啊
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号 )

GMT+8, 2018-7-19 19:57

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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