鱼C论坛

 找回密码
 立即注册
查看: 2152|回复: 4

[已解决]用户输入用map转list,但不拆分

[复制链接]
发表于 2022-10-13 15:02:01 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 jcpython2 于 2022-10-13 15:03 编辑

题目要求map转用户输入为list,题目只举例了单位数比如 a b c 转为 ['a'] ['b'] ['c']

如果输入a b cc会输出['a'] ['b'] ['c', 'c']

但我想实现转为 ['a'] ['b'] ['cc']


我的代码
  1. x,y,z = map(list,input().split(' '))
  2. print(x,y,z)
复制代码


能否用类似方法写出我想要的效果? 想加深现基础上map的用法,本来尝试了map(list再嵌套map(str但报错
最佳答案
2022-10-13 22:09:14
本帖最后由 阿奇_o 于 2022-10-13 22:14 编辑
jcpython2 发表于 2022-10-13 20:39
就是想知道map有没有原生的功能实现 a b cc得出 ['a'] ['b'] ['cc']


原生功能? 你是不会用 help(map),不会查文档、查例子,还是连百度都不会用?

还是说,一遇到问题,或一有个“奇思妙想”,就上来这里发帖提问 ??

哦,我再仔细看看你的提问,“想深入”、“想嵌套”?

简单地说,map 等价于与  for循环(对列表等可迭代对象进行遍历,逐一进行同样的操作,比如 list(x)
    另外加上一个 yield 的语法。。 最终返回的是一个类似生成器的map object,而不是列表。 (map 其实是一个类,没想到吧,我也是才注意到。。)
    嗯,这似乎是“高阶魔法”了, 一时半会又是解释不清了。。

反正是你还没理解 map 的基本逻辑,就想瞎整,多搜几个基本例子吧,暂时知道怎么用就好了。
等学到 生成器 部分,再“深入”吧,可以试试 自定义一个生成器函数 来实现和map类似的功能。

想深入是好的,但不是每学一个知识点都非得深究。更重要的是:基本用法、基本概念,以及“小步快跑”(老卡壳老纠结咋行呢~)




想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-13 15:40:09 | 显示全部楼层
本帖最后由 阿奇_o 于 2022-10-13 15:43 编辑

需求不太明确(是最后一个就不用转list,还是字符个数超过1的不用转,还是相同字符的不用转?),这样?
  1. x, y, z = map(lambda x: list(x) if len(x)==1 else [x], input().split())
  2. a b cc
  3. print(x, y, z)
  4. ['a'] ['b'] ['cc']
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-13 16:02:23 | 显示全部楼层
发错地方了,请无视
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-13 20:39:18 | 显示全部楼层
阿奇_o 发表于 2022-10-13 15:40
需求不太明确(是最后一个就不用转list,还是字符个数超过1的不用转,还是相同字符的不用转?),这样?

就是想知道map有没有原生的功能实现 a b cc得出 ['a'] ['b'] ['cc']
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-13 22:09:14 | 显示全部楼层    本楼为最佳答案   
本帖最后由 阿奇_o 于 2022-10-13 22:14 编辑
jcpython2 发表于 2022-10-13 20:39
就是想知道map有没有原生的功能实现 a b cc得出 ['a'] ['b'] ['cc']


原生功能? 你是不会用 help(map),不会查文档、查例子,还是连百度都不会用?

还是说,一遇到问题,或一有个“奇思妙想”,就上来这里发帖提问 ??

哦,我再仔细看看你的提问,“想深入”、“想嵌套”?

简单地说,map 等价于与  for循环(对列表等可迭代对象进行遍历,逐一进行同样的操作,比如 list(x)
    另外加上一个 yield 的语法。。 最终返回的是一个类似生成器的map object,而不是列表。 (map 其实是一个类,没想到吧,我也是才注意到。。)
    嗯,这似乎是“高阶魔法”了, 一时半会又是解释不清了。。

反正是你还没理解 map 的基本逻辑,就想瞎整,多搜几个基本例子吧,暂时知道怎么用就好了。
等学到 生成器 部分,再“深入”吧,可以试试 自定义一个生成器函数 来实现和map类似的功能。

想深入是好的,但不是每学一个知识点都非得深究。更重要的是:基本用法、基本概念,以及“小步快跑”(老卡壳老纠结咋行呢~)




评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
jcpython2 + 1 + 1 感谢你的意见,我也是查过才来提问的,是急.

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 13:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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