鱼C论坛

 找回密码
 立即注册
查看: 2496|回复: 5

[已解决]Python基础入门第12讲最后一题没看懂啊

[复制链接]
发表于 2017-3-15 22:04:26 | 显示全部楼层 |阅读模式

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

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

x
>>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]


什么意思呢?求助各位吧友啊
最佳答案
2017-3-15 22:46:56
这是列表推导式,一行生成列表,用普通的for循环表示,可能更好的看懂。
  1. list3 = []
  2. for slogan in list1:
  3.     for name in list2:
  4.         if slogan[0] == name[0]: #如果slogan的首字符即序号与name的相同
  5.             list3.append(name + ':' + slogan[2:]) #将name和引号和slogan的序号与小数点之后的内容拼接
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-3-15 22:07:47 | 显示全部楼层
首先 list3 只是一个名字,后面的一大串被赋值给了它
然后使用切片,for循环和if判断句组成了神奇的Python 一句代码的奇效
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-3-15 22:46:56 | 显示全部楼层    本楼为最佳答案   
这是列表推导式,一行生成列表,用普通的for循环表示,可能更好的看懂。
  1. list3 = []
  2. for slogan in list1:
  3.     for name in list2:
  4.         if slogan[0] == name[0]: #如果slogan的首字符即序号与name的相同
  5.             list3.append(name + ':' + slogan[2:]) #将name和引号和slogan的序号与小数点之后的内容拼接
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-16 00:17:37 | 显示全部楼层
在那个题目之前,有详细说明了 推导式:

请先在 IDLE 中获得下边列表的结果,并按照上方例子把列表推导式还原出来。
  1. >>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
复制代码

  1. list1=[]
  2. for x in range(10):                           #x和y都用for循环依次代入 range(0,10)
  3.     for y in range(10):                  
  4.         if x%2 == 0 and y%2 != 0:    #嵌套类的循环体,比如这个,执行到第二个for以后,会优先把第二个for的内容循环完。
  5.             a = (x,y)                             #当 符合 偶数 +奇数组合,就赋值到a这个变量
  6.             list1.append(a)
复制代码
       #添加到list1里。


你用大脑循环2-4次这个语句,然后在看最上面那行,理解这个结构的写法就好。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-17 14:25:48 | 显示全部楼层
确实很难理解,后面自己动手测试了一下
>>> slogan='1.Just do It'
>>> slogan[0]
'1'

发现字符串也相当于一个列表,可以这样截取字符串
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-17 15:32:51 | 显示全部楼层
午夜凉茶 发表于 2017-3-17 14:25
确实很难理解,后面自己动手测试了一下
>>> slogan='1.Just do It'
>>> slogan[0]

谢谢~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-26 03:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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