帮助清理一些Python代码

rec*_*gle 2 python variables tuples

下面我有一个比特的分配,其基于所述元组中的值的值代码TUP.现在这段代码对我的口味来说太重复了,我希望能够使用循环.

片段:

    self.Levels = tup[0]
    self.MaxX   = tup[1]
    self.MaxY   = tup[2]
    self.BW     = tup[3]
Run Code Online (Sandbox Code Playgroud)

我想沿着下面的方向做点什么; 但是,这显然在语法上不适用于python.

    nametup = (self.Levels, self.MaxX, self.MaxY, self.BW)

    for i in range(len(tup)):
        nametup[i] = tup[i]
Run Code Online (Sandbox Code Playgroud)

编辑:

我不得不将我的代码段更改为:

    if tup[0] != None:
        self.Levels = tup[0]

    if tup[1] != None:
        self.MaxX   = tup[1]

    if tup[2] != None:
        self.MaxY   = tup[2]

    if tup[3] != None:
        self.BW     = tup[3]
Run Code Online (Sandbox Code Playgroud)

根据我的理解,if语句会给解压元组的想法带来麻烦.有什么建议?

S W*_*S W 5

试试这个:

self.Levels, self.MaxX, self.MaxY, self.BW = tup
Run Code Online (Sandbox Code Playgroud)

它被称为解包元组.