鱼C论坛

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

[已解决]列表问题

[复制链接]
发表于 2020-2-10 16:53:24 | 显示全部楼层 |阅读模式

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

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

x
M28XG$DBSTMW6V]$PW`AA.png


最佳答案
2020-2-11 06:45:39
N95 发表于 2020-2-10 21:14
你好,这样说的话

也是可以打印从第一个字符开始后面的所有字符呀,可怎么只打印了一个空列表呢??

"大乌龟" 是第0个元素, 它后面就没有元素了,所以是空列表。
另外,你第二行的变量名错了。

如果对字符串操作,与你想像的结果一样
>>> demo = "大乌龟"
>>> print(demo[1:])
乌龟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-10 16:54:26 | 显示全部楼层
你想问什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-10 16:54:53 | 显示全部楼层


他要问涂色部分应该是什么

来源 -> 课后作业
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-10 16:55:44 | 显示全部楼层
>>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]

这个代码中的slogan[2:]怎么起作用的没看懂,或者说这行代码都没看懂,有小哥哥吗?。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-10 17:01:29 | 显示全部楼层
N95 发表于 2020-2-10 16:55
>>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]] ...

https://fishc.com.cn/thread-149698-1-1.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-10 17:03:34 | 显示全部楼层
本帖最后由 Hoiste 于 2020-2-10 17:04 编辑

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

相当于
list3 = []
for slogan in list1:
    for name in list2:
        if slogan[0] == name[0]:
            list3.append(name + ':' + slogan[2:])

如果无法理解列表推导式的话其实不用也行,这个方便归方便,但不好读而且不擅长的话也容易出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-10 17:16:03 | 显示全部楼层
slogan[2:]是指取list1里的每个元素的第2个字符到结尾。
例如:第0个元素“1.Just do It”,就是取“Just do It
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-10 21:14:49 | 显示全部楼层
慕良 发表于 2020-2-10 17:16
slogan[2:]是指取list1里的每个元素的第2个字符到结尾。
例如:第0个元素“1.Just do It”,就是取“Just  ...

你好,这样说的话
list=["大乌龟"]
ist[1:]
也是可以打印从第一个字符开始后面的所有字符呀,可怎么只打印了一个空列表呢??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-11 06:45:39 | 显示全部楼层    本楼为最佳答案   
N95 发表于 2020-2-10 21:14
你好,这样说的话

也是可以打印从第一个字符开始后面的所有字符呀,可怎么只打印了一个空列表呢??

"大乌龟" 是第0个元素, 它后面就没有元素了,所以是空列表。
另外,你第二行的变量名错了。

如果对字符串操作,与你想像的结果一样
>>> demo = "大乌龟"
>>> print(demo[1:])
乌龟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-11 09:41:33 | 显示全部楼层
XiaoPaiShen 发表于 2020-2-11 06:45
"大乌龟" 是第0个元素, 它后面就没有元素了,所以是空列表。
另外,你第二行的变量名错了。

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 23:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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