如题所示,今天我要发一些这些天学习python时遇到的问题以及解答它的过程。
疑惑来源
学到数据类型之集合时我看到视频里的老师这样来创建一个集合:
b=set([11,22,33,'zhangsan'])
我对中括号很是疑惑,为什么要加中括号?不加会怎样?于是我很皮的在sublime 中写下了如下:
b=set(11,22,'zhangsan')
然后运行它,果不其然报错了
b=set(11,22,'zhangsan')
TypeError: set expected at most 1 argument, got3
这是为什么?
解疑过程
我想不出答案,于是直接ctrl+c,ctrl+v进浏览器里搜,终于在CSDN社区找到了和我有类似疑惑的人不过他的疑惑不是set()而是list(),他的问题大概是这样的:
ty=list(1,2,3,4,5,6)
TypeError: list expected at most 1 argument, got6
看到这我就激动了,我们两个的问题不就相当于是一样的嘛!然后我看到了他的解答是这样说的:
list()里面至多有一个元素!
这就解释了报错里面为什么反复出现:at most这样的词,然后他的解决办法是这样的:
ty=list((1,2,3,4,5,6))
print(ty)
他把list()里面的数据变成了一个元组,这样打印出来就是一个列表!亲测过!
之后我又搜索python,list ()得到了这样一句话:
list()方法用于将元组转换为列表。
到此我终于明白了list()的根源用法了!
set()函数可以创建一个无序不重复的元素集,这个函数至多可以传一个参数。
于是我老老实实的按照老师的方法,加上中括号运行,这次当然是可以的~~
那是不是就意味着:set()方法可以把列表转换为集合?这有待大家讨论。
反思
写到这里大家可能对我说的有些不知所云,没关系,可能你只是没接触过,一旦学习了,相信会比我学的还好。
其是这有些“无心插柳柳成荫”了,写到这里,我又想到了论坛网友的评论了:“那个用list和用“[]”产生的列表好像不一样,”我不知道这里的“不一样”是不是对应了上面的分析,如果是的那就太好了。
今天就到这里了,我今天现学了Markdown 不知道效果如何,第一天用发出来看看哈哈哈
还是那句话“用心讨论,共获提升!”希望大家每天进步!