无法打印元组的长度。为什么

时间:2019-05-03 02:45:39

标签: python numpy tuples

我是python的新手,无法打印我创建的变量的长度。

我尝试了len(),并且尝试转换为列表,数组和元组等,但是无法正确打印长度。


print(k1_idx_label0)

len(k1_idx_label0)

输出为---


(array([  0,   3,   7,  13,  20,  21,  23,  27,  29,  30,  32,  33,  36,
        38,  40,  41,  42,  44,  45,  46,  48,  49,  54,  56,  57,  58,
        62,  65,  68,  69,  70,  72,  76,  80,  82,  83,  84,  85,  88,
        89,  92,  97, 103, 105, 109, 110, 111, 113, 115, 116, 117, 121,
       122, 124, 126, 136, 137, 139, 140, 142, 143, 146, 148, 149, 150,
       151, 153, 155, 156, 157, 158, 160, 161, 165, 166, 168, 173, 174,
       175, 176, 177, 178, 180, 181, 182, 185, 186, 188, 191, 192, 193,
       196, 199, 200, 203, 206, 207, 210, 211, 215, 218, 220, 225, 226,
       227, 228, 232, 235, 236, 237, 238, 239, 241, 244, 249, 251, 252,
       257, 258, 262, 264, 267, 272, 278, 282, 283, 285, 286, 289, 291,
       297, 298, 299, 300, 301, 305, 307, 308, 309, 313, 315, 317, 318,
       319, 326, 327, 329, 330, 331, 333, 335, 336, 340, 342, 347, 350,
       351, 352, 354, 355, 356, 360, 361, 365, 375, 377, 378, 382, 383,
       385, 386, 387, 390, 391, 392, 393, 394, 397, 398, 403, 405, 406,
       407, 408, 409, 413, 414, 421, 426, 429, 430, 431, 435, 439, 443,
       444, 445, 446, 447, 449, 452, 454, 455, 456, 457, 460, 462, 463,
       464, 466, 468, 469, 471, 472, 473, 477, 478, 480, 482, 492, 493,
       496, 501, 504, 506, 512, 517, 518, 519, 520, 521, 522, 523, 528,
       529, 531, 533, 535, 536, 542, 543, 545, 547, 551, 555, 556, 558,
       564, 565, 567, 568, 569], dtype=int64),)
1

当明显多于该长度时,它将打印长度保持为1。

有什么主意吗?

3 个答案:

答案 0 :(得分:2)

如果您想知道元组中该元素的大小,则元组只有1元素:

len(k1_idx_label0[0])

如果您想知道元组中所有元素的大小:

[len(e) for e in k1_idx_label0]

答案 1 :(得分:2)

您的k1_idx_label0变量实际上是一个包含单个项目的元组。该项目恰好是numpy.array,但是len()正确报告了您要传递给它的对象的长度。

代替尝试:

len(k1_idx_label0[0])

应该给你想要的东西:1元素元组的第一个元素的长度。

答案 2 :(得分:1)

尝试:

print(len(k1_idx_label0[0]))