Python教程12讲 课后作业列表相关的问题?
代码:list1 = ['1.Just do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is nothing']
list2 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
list3 = for slogan in list1 for name in list2 if slogan== name]
for each in list3:
print(each)
输出:
1.耐克:Just do it
2.李宁:一切皆有可能
3.鱼C工作室:让编程改变世界
4.阿迪达斯:Impossible is nothing
想问一下这个 list3 = for slogan in list1 for name in list2 if slogan== name] 这句中
slogan[]是把list2中的每一项 (如4.阿迪达斯)
划分(slice)成了slogan=4 slogan=. slogan=阿迪达斯吗
slogan不是对列表的操作吗
这里list2中的每一个项都可以作为一个单独的列表,对其进行列表的操作吗?
那为什么 阿迪达斯 四个字被作为了一个整体呀?
初学者有点混乱,求大佬解释! 切片不仅可以用于列表,还可以用于字符串,每一个元素就是字符串的每一个字符,slogan 表示的是从slogan 的第三个字符一直截取到末尾。如果 slogan 为 '1.Just do it',那么 slogan 就是 'Just do it' 。 1、你的理解是对的,(4.阿迪达斯)的下标是(4对应0),(.对应)1,(阿对应2),以此类推,
2、slice不仅可以在列表中作用,还可以在元组、字符串中作用,你这个是作用到了字符串上。
我也是小白,互相学习。 生物必学编程 发表于 2020-7-12 20:07
1、你的理解是对的,(4.阿迪达斯)的下标是(4对应0),(.对应)1,(阿对应2),以此类推,
2、slice不仅可以在 ...
再补充,[:2]表示列出数据至第二位
表示列出第二位后(包含第二位)的数据 本帖最后由 Twilight6 于 2020-7-12 20:18 编辑
想问一下这个 list3 = for slogan in list1 for name in list2 if slogan== name] 这句中
slogan[]是把list2中的每一项 (如4.阿迪达斯)
划分(slice)成了slogan=4 slogan=. slogan=阿迪达斯吗
前面两个每次,最后一个错了正确的是: slogan=阿, slogan=迪, slogan=达 , slogan=斯
列表索引操作是索引位置参数的,从 0 开始索引,而且是一个字符,一个字符,而不是一个整体而言的
slogan不是对列表的操作吗?
这个是 slogan 是 for 循环从列表中取出的字符串,所以是字符串的切片操作,也就是表示从第 2 个位置参数开始,到最后一个字符串
所以结果就是实际上去掉字符串前面的编号.比如 1.耐克 就是去掉前面的 1. 字符,保留 耐克字符
这里list2中的每一个项都可以作为一个单独的列表,对其进行列表的操作吗?
list2 是个列表,而列表里面的元素全部都是字符串,字符串不能当成列表来看,字符串有字符串索引,列表有列表索引,用法都是差别不大的
那为什么 阿迪达斯 四个字被作为了一个整体呀?
就是字符串切片操作呀,只保留切片范围内的字符,比如 就是指从第二个位置参数开始到字符串结尾结束,保留下这个范围的字符串
生物必学编程 发表于 2020-7-12 20:07
1、你的理解是对的,(4.阿迪达斯)的下标是(4对应0),(.对应)1,(阿对应2),以此类推,
2、slice不仅可以在 ...
你的第一个问题没有认值看题,楼主把 slogan等于了阿迪达斯 了,所以楼主的理解是错的,但是你解释的没错 哇,谢谢各位大佬啦,没想到真的有人会很认真的帮忙解答诶,谢谢啦~~~
页:
[1]