Python 3为什么append()可以带两个参数?

时间:2017-02-11 10:43:52

标签: python python-3.x tuples

我对Python 3很新鲜。当我学习元组时,我在书中找到了这段代码。

txt = 'but sort what light in yonder window breaks'
words = txt.split()
t = list()
for word in words:
    t.append((len(word),word))

t.sort(reverse = True)

res = list()

for length, word in t:
    res.append(word)

print(res)

我对此代码有两个问题。首先,这本书说:

  

第一个循环构建一个元组列表,其中每个元组都是一个以其长度开头的单词。

第一个循环是如何创建元组列表的?从教程中,我学到了元组,如下所示。

t = ('a',)
t = 'a', 'b', 'c'
t = tuple()

第二个问题是为什么append()可以带两个参数?

t.append((len(word),word))

2 个答案:

答案 0 :(得分:0)

append没有获得两个参数,它会得到一个tuple,正如您在教程元组中看到的(var_1, var_2)一样,所以在此示例len(word)word是两个元组变量,因此t是元组列表。

答案 1 :(得分:0)

append()如果仔细看的话,这里只有1个参数。该参数恰好是由2个元素组成的元组。