第12讲课后习题第6题有不懂,求解答,谢了
为啥slogan和slogan打印结果不一样,那么slogan后面括号里面的代表啥意思??? 本帖最后由 昨非 于 2021-3-16 16:08 编辑列表切片操作
就是取slogan第二个字符之后的所有字符
slogan指的是slogan去掉前面两个元素之后的所有内容。例如"1.Just do it'",去掉头两个元素结果就是“Just do it ”.
下面这个链接搜集了论坛上已有的解答,挺全的,有需要可以看一下哦
<font color="red">[已解决]</font>slogan和if slogan == name]请问这个有什么作用?
https://fishc.com.cn/thread-186001-1-1.html
(出处: 鱼C论坛)
你这基础真么差还不赶紧回过头去补补课?
slogan表示对原字符串 slogan 取其索引值为2(第3位)到最后的部分 本帖最后由 Peteryo01223 于 2021-3-16 17:16 编辑
list3 = for slogan in list1 for name in list2 if slogan == name]
以上答案中,一行code,包含了三个意思:
1. slogan 就是 list1 当中的每一个对象,name 就是 list2 当中的每一个对象,这里用 python 的语言给表达出来了;
2. 需要满足的条件是:某个 slogan 的第一个位置的 str 等于某个 name 的第一个位置的 str。本题中,条件是 “序号值相同”,这里用 python 的语言表达了出来;
3. 输出时,name 写在前,加上,从第三个位置开始的 slogan 的内容,这里用 python 的语言也给表达出来了。
你的提问,包含在上面的 “意思3” 中。大家解释的 Python 中的切片操作,你可能不熟悉,是指:按 str 位置, ‘切’ 出你想要的对象的内容来。
切片的规则在本题的应用,可以解释为:如果写 slogan(或者写 slogan [:]),这在 Python 中,指的是:对象的全部 str。如果写 slogan,指的是从第二个 str 之后的位置开始的剩余内容。答案这么写,就是为了让 run 后结果美观,避免了序号(位置0)和英文的句号(位置1)的重复打印而已。并不高深啦。 举例说明吧,这样比较直观。
>>> slogan = '一切皆有可能'
>>> slogan
'一切皆有可能'
>>> slogan
'一'
>>> slogan
'切'
>>> slogan
'皆有可能'
以上是一些简单的例子,
也就是说直接输入slogan则返回整个字符串里所有的元素。
输入slogan 则返回这个字符串第三个元素开始到最后一个元素。(因为Python中计数是从0开始的,所以是从第三个元素开始) 切片操作 {:5_108:}
页:
[1]