Python中的邮政编码列表

发布于 2021-02-02 23:18:22

我正在尝试学习如何“压缩”列表。为此,我有一个程序,在某个特定位置执行以下操作:

x1, x2, x3 = stuff.calculations(withdataa)

这给了我三个列表,x1x2,和x3,每一个,比方说,大小为20。

现在,我这样做:

zipall = zip(x1, x2, x3)

但是,当我这样做时:

print "len of zipall %s" % len(zipall)

我得到20,这不是我期望的。我预计三个。我认为我做的事情根本上是错误的。

关注者
0
被浏览
101
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    zip()三个包含20个元素的列表放在一起时,结果将包含20个元素。每个元素都是一个三元组。

    你自己看:

    In [1]: a = b = c = range(20)
    
    In [2]: zip(a, b, c)
    Out[2]: 
    [(0, 0, 0),
     (1, 1, 1),
     ...
     (17, 17, 17),
     (18, 18, 18),
     (19, 19, 19)]
    

    要找出每个元组包含多少个元素,可以检查第一个元素的长度:

    In [3]: result = zip(a, b, c)
    
    In [4]: len(result[0])
    Out[4]: 3
    

    当然,如果列表开头是空的,这将不起作用。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看