为了账号安全,请及时绑定邮箱和手机立即绑定

python中如何创建指定大小的tuple(要求所有位置的值都是0)

python中如何创建指定大小的tuple(要求所有位置的值都是0)

汪小达 2016-03-03 23:42:31
如题,我想创建一个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的元组。

查看完整回答
反对 回复 2016-03-05
?
weixin_慕UI3177784

TA贡献1条经验 获得超0个赞

(0,)*100

查看完整回答
反对 回复 2020-12-17
?
汪小达

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)
不知道有没有更好的办法或现成的函数?


查看完整回答
反对 回复 2016-03-04
  • 4 回答
  • 0 关注
  • 3740 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信