|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码:
list1 = ['1.Just do it','2.一切皆有可能','3.让编程改变世界','4.Impossible is nothing']
list2 = ['4.阿迪达斯','2.李宁','3.鱼C工作室','1.耐克']
list3 =[name +':'+slogan[2:] for slogan in list1 for name in list2 if slogan[0]== name[0]]
for each in list3:
print(each)
输出:
1.耐克:Just do it
2.李宁:一切皆有可能
3.鱼C工作室:让编程改变世界
4.阿迪达斯:Impossible is nothing
想问一下这个 list3 =[name +':'+slogan[2:] for slogan in list1 for name in list2 if slogan[0]== name[0]] 这句中
slogan[]是把list2中的每一项 (如4.阿迪达斯)
划分(slice)成了slogan[0]=4 slogan[1]=. slogan[2]=阿迪达斯吗
slogan[2: ]不是对列表的操作吗
这里list2中的每一个项都可以作为一个单独的列表,对其进行列表的操作吗?
那为什么 阿迪达斯 四个字被作为了一个整体呀?
初学者有点混乱,求大佬解释!
本帖最后由 Twilight6 于 2020-7-12 20:18 编辑
想问一下这个 list3 =[name +':'+slogan[2:] for slogan in list1 for name in list2 if slogan[0]== name[0]] 这句中
slogan[]是把list2中的每一项 (如4.阿迪达斯)
划分(slice)成了slogan[0]=4 slogan[1]=. slogan[2]=阿迪达斯吗
前面两个每次,最后一个错了正确的是: slogan[2]=阿, slogan[3]=迪, slogan[3]=达 , slogan[4]=斯
列表索引操作是索引位置参数的,从 0 开始索引,而且是一个字符,一个字符,而不是一个整体而言的
这个是 slogan 是 for 循环从列表中取出的字符串,所以是字符串的切片操作,也就是表示从第 2 个位置参数开始,到最后一个字符串
所以结果就是实际上去掉字符串前面的 编号. 比如 1.耐克 就是去掉前面的 1. 字符,保留 耐克字符
这里list2中的每一个项都可以作为一个单独的列表,对其进行列表的操作吗?
list2 是个列表,而列表里面的元素全部都是字符串,字符串不能当成列表来看,字符串有字符串索引,列表有列表索引,用法都是差别不大的
就是字符串切片操作呀,只保留切片范围内的字符,比如 [2:] 就是指从第二个位置参数开始到字符串结尾结束,保留下这个范围的字符串
|
|