Не могу напечатать длину кортежа. Почему - PullRequest
0 голосов
/ 03 мая 2019

Я очень плохо знаком с 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 ]

2 голосов
/ 03 мая 2019

Кортеж имеет только элемент 1, если вы хотите узнать размер этого элемента внутри кортежа:

len(k1_idx_label0[0])

если вы хотите знать размер всех элементов в кортеже:

[len(e) for e in k1_idx_label0]
2 голосов
/ 03 мая 2019

Ваша переменная k1_idx_label0 на самом деле является кортежем, содержащим один элемент. Этот элемент имеет значение numpy.array, но len() правильно сообщает о длине объекта, который вы ему передаете.

Вместо этого попробуйте:

len(k1_idx_label0[0])

Что должно дать вам то, что вы хотите: длину первого элемента набора из 1 элемента.

1 голос
/ 03 мая 2019

Попробуйте:

print(len(k1_idx_label0[0]))
...