Python: объект 'list' не может быть интерпретирован как целое число - PullRequest
1 голос
/ 20 марта 2020
points 1 =[1219.5537056928035, [1318.8861439312564, 1214.6746106337268,
           1110.4630773361973, 1006.2515440386678, 902.0400107411383]]

Для приведенного выше списка я хочу создать упорядоченные пары, рассматривая точки 1 [0] как ось X и точки 1 [1] как ось Y. пример:

[(1219.553,1318.88),(1219.553,1214.674), (1219.553,1110.465)...................   

list(zip(itertools.repeat(points1[0],points1[1])))

Я пытаюсь использовать zip, но получаю ошибку:

'list' object cannot be interpreted as an integer 

Ответы [ 2 ]

2 голосов
/ 20 марта 2020

Здесь вы можете использовать itertools.product.

list(itertools.product([points1[0]],points1[1]))

[(1219.5537056928035, 1318.8861439312564),
 (1219.5537056928035, 1214.6746106337268),
 (1219.5537056928035, 1110.4630773361973),
 (1219.5537056928035, 1006.2515440386678),
 (1219.5537056928035, 902.0400107411383)]

За полученную ошибку. Подпись itertools.repeat равна

itertools.repeat(object[, times])

Где times принимает целые числа в качестве аргумента, и вы дали ему список.

1 голос
/ 20 марта 2020
points1 =[1219.5537056928035, [1318.8861439312564, 1214.6746106337268,
           1110.4630773361973, 1006.2515440386678, 902.0400107411383]]

x = points1[0]
ys= points1[1]

print([ (x,y) for y in ys])

выход:

[
 (1219.5537056928035, 1318.8861439312564), 
 (1219.5537056928035, 1214.6746106337268),
 (1219.5537056928035, 1110.4630773361973),
 (1219.5537056928035, 1006.2515440386678),
 (1219.5537056928035, 902.0400107411383)
]
...