如题,我想创建一个tuple:(0,0,...,0),总共有100个0,我总不能把100个0都打一遍吧,有没有什么简便的函数?问题很小白,不过我百度了很久没有找到答案...求大神指教!
4 回答
已采纳
Davidham3
TA贡献8条经验 获得超0个赞
这里可以使用匿名函数lambda
f = lambda x : tuple([0 for i in range(x)]) print(f(100)) (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
[0 for i in range(100)]是列表生成式,可以直接生成一个含有100个0的列表,用tuple()强制类型转换为元组
lambda是匿名函数,传入参数x,返回冒号后面的内容,所以函数f就是返回包含x个0的元组。
汪小达
TA贡献1条经验 获得超0个赞
目前我自己能想到的办法是先编写如下的函数: def NewTuple(n,m):#新建一个指定大小的tuple,n为长度,m为每个位置的值 newtuple=[] for i in range(0,n): newtuple.append(m) newtuple=tuple(newtuple)#将list转化为tuple return newtuple 再通过如下代码来创建tuple: import MyFunction wsd=MyFunction.NewTuple(5,1) print wsd 结果如下: (1, 1, 1, 1, 1) 不知道有没有更好的办法或现成的函数?
添加回答
举报
0/150
提交
取消