猿问

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

如题,我想创建一个tuple:(0,0,...,0),总共有100个0,我总不能把100个0都打一遍吧,有没有什么简便的函数?问题很小白,不过我百度了很久没有找到答案...求大神指教!


汪小达
浏览 3741回答 4
4回答

Davidham3

这里可以使用匿名函数lambdaf = 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的元组。

weixin_慕UI3177784

(0,)*100

汪小达

目前我自己能想到的办法是先编写如下的函数: 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) 不知道有没有更好的办法或现成的函数?
随时随地看视频慕课网APP

相关分类

Python
我要回答