如題,我想創建一個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
提交
取消