鱼C论坛

 找回密码
 立即注册
查看: 444|回复: 5

关于列表推导式的一下困惑:

[复制链接]
最佳答案
6 
发表于 2017-12-7 00:52:57 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

x
不太懂这推导式的意思,还有for循环,谁能来解释一下
QQ截图20171207004834.png QQ截图20171207004849.png
最佳答案
42 
发表于 2017-12-7 01:32:58 | 显示全部楼层
等于下面的代码
  1. list3 = []
  2. for slogan in list1:
  3.     for name in list2:
  4.         if slogan[0] == name[0]:
  5.             list3.append('%s : %s' % (name,slogan[2:]))
复制代码
最佳答案
6 
 楼主| 发表于 2017-12-7 22:12:40 | 显示全部楼层
yjsx86 发表于 2017-12-7 01:32
等于下面的代码

你好为什么这list3.append()括号里的name和slogan不需要加引号了呢!忘列表里面添加元素不是要加引号的吗
最佳答案
2 
发表于 2017-12-7 22:59:51 | 显示全部楼层
  1. list1 = ['1. Just do it', '2.一切皆有可能', '3.让编程改变世界','4. Impossible is Nothing']

  2. list2 = ['4.阿迪达斯', '2.李宁','3.鱼C工作室','1.耐克']

  3. for slogan in list1:

  4.     for name in list2:

  5.         if slogan[0] == name[0]:

  6.             list3 = [name + ':' + slogan[2:]]

  7.             for each in list3:

  8.                 print(each)
复制代码


这是我根据老师答案改写的
最佳答案
6 
 楼主| 发表于 2017-12-7 23:20:13 | 显示全部楼层
raimond 发表于 2017-12-7 22:59
这是我根据老师答案改写的

谢谢改我可以改出来就是不理解为什么name和slogan不用加引号,而冒号就要加
最佳答案
42 
发表于 2017-12-7 23:26:10 | 显示全部楼层
大麦miracle 发表于 2017-12-7 22:12
你好为什么这list3.append()括号里的name和slogan不需要加引号了呢!忘列表里面添加元素不是要加引号的吗

格式化输出
print('%s : %s' % (name,slogan[2:]))
print('{0} : {1}'.format((name,slogan[2:]))
print(name + ':' + slogan[2:])
上面三个一样的

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号 )

GMT+8, 2018-7-18 20:23

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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