为什么集合使用set与{}输出会有所不同?

a={'python'}
print (a)

a=set('python')
print (a)
一个是整体python输出,另一个却是字母分开输出,这是为什么啊?

  1. 理解python中set()函数的用法。
    set()函数有两种常用用法,第一种set() ,直接得到空集合。第二种,set(iterable),就是set()传入可迭代对象,将可迭代对象拆分再形成集合,对于“python”这样一个字符串来说,字符串是可迭代的,所以会拆分成一个个字符。所以如果你想利用set()函数完整的输出一个字符串的话,就需要将字符串作为整体放入另一个可迭代对象中。
  2. 解决方案
    将字符串整体作为一个元素放入一个集合中。
b = set({'python'})
print(b)

#输出:{'python'}

{'python'} 表示直接创建一个元素是python的集合
set('python')是将字符串'python'转换为集合,他会对字符串进行分割

两者数据类型不一样,当然输出不同
a={'python'} ---> 执行type(a)类型为字符串str
a=set('python') ---> 执行type(a)类型为集合set