N95 发表于 2020-2-10 16:53:24

列表问题




zltzlt 发表于 2020-2-10 16:54:26

你想问什么?

一个账号 发表于 2020-2-10 16:54:53

zltzlt 发表于 2020-2-10 16:54
你想问什么?

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

来源 -> 课后作业

N95 发表于 2020-2-10 16:55:44

>>> list3 = for slogan in list1 for name in list2 if slogan == name]

这个代码中的slogan怎么起作用的没看懂,或者说这行代码都没看懂,有小哥哥吗?。。。。

zltzlt 发表于 2020-2-10 17:01:29

N95 发表于 2020-2-10 16:55
>>> list3 = for slogan in list1 for name in list2 if slogan == name] ...

https://fishc.com.cn/thread-149698-1-1.html

Hoiste 发表于 2020-2-10 17:03:34

本帖最后由 Hoiste 于 2020-2-10 17:04 编辑

list3 = for slogan in list1 for name in list2 if slogan == name]

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


如果无法理解列表推导式的话其实不用也行,这个方便归方便,但不好读而且不擅长的话也容易出错

慕良 发表于 2020-2-10 17:16:03

slogan是指取list1里的每个元素的第2个字符到结尾。
例如:第0个元素“1.Just do It”,就是取“Just do It”

N95 发表于 2020-2-10 21:14:49

慕良 发表于 2020-2-10 17:16
slogan是指取list1里的每个元素的第2个字符到结尾。
例如:第0个元素“1.Just do It”,就是取“Just...

你好,这样说的话
list=["大乌龟"]
ist
也是可以打印从第一个字符开始后面的所有字符呀,可怎么只打印了一个空列表呢??

XiaoPaiShen 发表于 2020-2-11 06:45:39

N95 发表于 2020-2-10 21:14
你好,这样说的话

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

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

如果对字符串操作,与你想像的结果一样
>>> demo = "大乌龟"
>>> print(demo)
乌龟

N95 发表于 2020-2-11 09:41:33

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



谢谢你!
页: [1]
查看完整版本: 列表问题