鱼C论坛

 找回密码
 立即注册
查看: 3592|回复: 9

[技术交流] Python FAQ 002 列表推导

[复制链接]
发表于 2020-3-3 16:31:25 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 一个账号 于 2020-3-3 23:23 编辑

Python FAQ 002 列表推导


问题

这个列表推导式看不懂:

问题.png

答案

下面这段代码是上面这个列表推导式的分解:
list3 = []
for slogan in list1:
    for name in list2:
        if slogan[0] == name[0]:
            list3 . append(name + ':' + slogan[2:])

还有什么疑问就在请回复[/b]

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2020-3-3 16:35:34 From FishC Mobile | 显示全部楼层
好多好多,闭包,水仙花数,猜数,密码强度
神马隔3拿一密码,还有关于文件的
变量域
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-13 13:31:58 | 显示全部楼层
还是不懂,请问下slogan[0]=1.Just do it,和name[0]=4.阿迪达斯。这怎么能相等啊,另外slogan[2:]表示的是什么啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-15 09:59:15 | 显示全部楼层
baiyuzhu1016 发表于 2020-3-13 13:31
还是不懂,请问下slogan[0]=1.Just do it,和name[0]=4.阿迪达斯。这怎么能相等啊,另外slogan[2:]表示的是 ...
slogan[2:]
列表切片,从第二项到末尾

前半句没看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-31 17:10:24 | 显示全部楼层
baiyuzhu1016 发表于 2020-3-13 13:31
还是不懂,请问下slogan[0]=1.Just do it,和name[0]=4.阿迪达斯。这怎么能相等啊,另外slogan[2:]表示的是 ...

你现在懂了吗,懂了可以告诉一下我不
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-1 08:02:12 | 显示全部楼层
看懂了谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-17 13:38:14 From FishC Mobile | 显示全部楼层
wp231957 发表于 2020-3-3 16:35
好多好多,闭包,水仙花数,猜数,密码强度
神马隔3拿一密码,还有关于文件的
变量域

原来一只猫也有这么多问号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-17 17:31:48 | 显示全部楼层
if slogan[0] == name[0]:
这段代码,进行判断。第一次进行判断的时候  1!=4  ,那就不会输出打印,为什么最后还是输出 “1.耐克:一切皆有可能”。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-2 16:22:11 | 显示全部楼层
baiyuzhu1016 发表于 2020-3-13 13:31
还是不懂,请问下slogan[0]=1.Just do it,和name[0]=4.阿迪达斯。这怎么能相等啊,另外slogan[2:]表示的是 ...

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

使用道具 举报

发表于 2021-4-24 10:40:38 | 显示全部楼层
baiyuzhu1016 发表于 2020-3-13 13:31
还是不懂,请问下slogan[0]=1.Just do it,和name[0]=4.阿迪达斯。这怎么能相等啊,另外slogan[2:]表示的是 ...

①因为for slogan in list1,所以slogan代表的是list1里面独立的元素,和 for i in range(3)是一道理,为的是形成循环,从第一个元素到最后一个每个都过一遍,slogan不是恒等于一个元素。
比如,最开始的时候,slogan=['1.Just do It'],这时候slogan[0]就等于1,也就是前面的序号,同理,name[0]则是代表list2里面名字的序号,当前面序号一致的时候,就可以输出name + ':' + slogan[2:]
②最后输出的slogan[2:]为的是把slogan前面的序号删除,能够达到1.耐克:Just do It的效果,如果不删除会变成1.耐克:1.Just do It

表达了一下我的想法,不知道说明白没有。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 08:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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