鱼C论坛

 找回密码
 立即注册
查看: 2742|回复: 9

[已解决]关于集合中的字符串

[复制链接]
发表于 2017-3-2 08:04:07 | 显示全部楼层 |阅读模式

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

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

x
我们知道,可以用{}来建立一个集合,也可以用set()来建立一个集合,如果用{}建立一个有重负字母的字符串集合,比如

  1. {"banana",}
复制代码


将会返回 {'bnana'}

但如果用set()来建立同样的集合

  1. set("banana")
复制代码


则会返回

{'n', 'b', 'a'}

小弟不明白这是为什么,不是应该也返回{'banana'}吗?

望达人解答,多谢
最佳答案
2017-3-2 08:22:53
set(iterable) -> new set object

str 是可迭代对象 (iterable),每个字符依次迭代添加到set中
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-3-2 08:18:38 | 显示全部楼层
方法1是直接产生一个集合,'bnana'作为一个元素。
方法2是把'bnana'作为可迭代对象转换为一个集合。
即方法2有转换的过程,把每个字符解析为元素了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-2 08:22:53 | 显示全部楼层    本楼为最佳答案   
set(iterable) -> new set object

str 是可迭代对象 (iterable),每个字符依次迭代添加到set中
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-2 09:29:19 | 显示全部楼层
我来慢了!被两个版主先回答上
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-2 09:30:36 | 显示全部楼层
class set(object)
|  set() -> new empty set object
|  set(iterable) -> new set object
|  
|  Build an unordered collection of unique elements.
|  
这是help(set)出来的。直接{}就是把整个字符串当作一个算术,而函数set()会把里面的字符串当作可迭代对象。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-2 10:16:49 | 显示全部楼层
32269100 发表于 2017-3-2 09:29
我来慢了!被两个版主先回答上

热心人啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-2 10:17:25 | 显示全部楼层
冬雪雪冬 发表于 2017-3-2 08:18
方法1是直接产生一个集合,'bnana'作为一个元素。
方法2是把'bnana'作为可迭代对象转换为一个集合。
即方 ...

多谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-2 10:18:09 | 显示全部楼层
SixPy 发表于 2017-3-2 08:22
set(iterable) -> new set object

str 是可迭代对象 (iterable),每个字符依次迭代添加到set中

多谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-2 14:26:56 | 显示全部楼层
set()函数的参数是一个可迭代对象,返回值是一个集合,所以就产生你这样的结果了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-2 16:30:56 | 显示全部楼层
我也不太懂,看楼下回复涨姿势啦!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-25 19:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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