鱼C论坛

 找回密码
 立即注册
查看: 1420|回复: 11

[已解决]关于列表的课后作业

[复制链接]
发表于 2018-6-27 18:54:53 | 显示全部楼层 |阅读模式

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

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

x
我又来求助各位大佬了,这个实在是看不懂,slogan是指向list1的,name是指向list2的,那是怎么让他们按照规定组合起来的呢?能帮忙分析一下list3里 的内容吗,靠我自己可能不行了
最佳答案
2018-6-27 19:15:37
本帖最后由 凌九霄 于 2018-6-27 19:17 编辑

已将上面的推导式转为对应等价的迭代形式,也许你容易看明白点

  1. list3 = [ ]
  2. for sologan in list1:
  3.     for name in list2:
  4.         if sologan[ 0 ] == name[ 0 ]:
  5.             list3.append(name + ':' + sologan[ 2: ])
复制代码
2018-06-27_185234.png
2018-06-27_185243.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-6-27 19:13:05 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2018-6-27 19:15:37 | 显示全部楼层    本楼为最佳答案   
本帖最后由 凌九霄 于 2018-6-27 19:17 编辑

已将上面的推导式转为对应等价的迭代形式,也许你容易看明白点

  1. list3 = [ ]
  2. for sologan in list1:
  3.     for name in list2:
  4.         if sologan[ 0 ] == name[ 0 ]:
  5.             list3.append(name + ':' + sologan[ 2: ])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-28 08:47:34 | 显示全部楼层
凌九霄 发表于 2018-6-27 19:15
已将上面的推导式转为对应等价的迭代形式,也许你容易看明白点

name如果取第一个值就是(4.阿迪达斯) + : + sologan[2:]  就是取了3和4,然后判断4.阿迪达斯 == 4.Impossible,然后传给了list3

第二次循环取了name第二个元素(2.李宁),然后就是把 2.李宁 + :+sologan[2:],但是这里没有第二个元素(2.一切皆有可能),那他们是怎么匹配的???
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-28 08:53:48 | 显示全部楼层
新手·ing 发表于 2018-6-27 19:13
http://bbs.fishc.com/thread-93823-1-1.html
最佳一定是我的。

下边的大佬和你的一样,我还是不明白list3里是怎么实现的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-28 09:03:32 From FishC Mobile | 显示全部楼层
本帖最后由 凌九霄 于 2018-6-28 09:16 编辑
齐天 发表于 2018-6-28 08:47
name如果取第一个值就是(4.阿迪达斯) + : + sologan[2:]  就是取了3和4,然后判断4.阿迪达斯 == 4.Imp ...


它是取的每个值的前面的编号去比较,没看见它用的切片么
sologan[0]和name[0]的取值都是1 2 3 4
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-28 09:15:40 | 显示全部楼层
我需要换个脑子了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-28 09:22:24 | 显示全部楼层
凌九霄 发表于 2018-6-28 09:03
它是取的每个值的前面的编号去比较,没看见它用的切片么
sologan[0]和name[0]的取值都是1 2 3 4

所以不加切片可以吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-28 10:55:37 From FishC Mobile | 显示全部楼层
齐天 发表于 2018-6-28 09:22
所以不加切片可以吗?

在这道题里,那个数字是唯一的确定对应关系的关键,所以不管用什么方式,最终要通过数字的比对来达成目的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-28 11:38:57 | 显示全部楼层
齐天 发表于 2018-6-28 08:47
name如果取第一个值就是(4.阿迪达斯) + : + sologan[2:]  就是取了3和4,然后判断4.阿迪达斯 == 4.Imp ...

你应该是对循环有疑问吧。
  1. if sologan[ 0 ] == name[ 0 ]:
复制代码

上面循环遍历判断出相对应的在执行:
  1. list3.append(name + ':' + sologan[ 2: ])
复制代码

执行上面的时候已经对应好了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-28 12:07:52 | 显示全部楼层
新手·ing 发表于 2018-6-28 11:38
你应该是对循环有疑问吧。

上面循环遍历判断出相对应的在执行:

嗯,解决了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-28 12:08:30 | 显示全部楼层
凌九霄 发表于 2018-6-28 10:55
在这道题里,那个数字是唯一的确定对应关系的关键,所以不管用什么方式,最终要通过数字的比对来达成目的

嗯,谢谢,解决了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-14 02:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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