У меня есть следующие две строки, которые имеют свои собственные начальные координаты
string1='CADBDCXDCAXDDDAADXDADCC'
string2='AABCXXABACBBBDDXDCAAXB'
coordinate1=42
coordinate2=180
Итак, string1
начинается с 42, а string2
начинается с 180. Эти строки состоят только из A
, B
, C
, D
и X
.
Чтобы найти конечные координаты между этими строками, нам нужно пропустить символы X
. Вот моя реализация, которая является для l oop через каждый символ, итерация на 1, если символ не X
.
def convert_coordinates(first_str, second_str, index1, index2):
x = index1
y = index2
for char1, char2 in zip(first_str, second_str):
if char1!='X':
x+=1
if char2!='X':
y+=1
return [x, y]
, который при запуске выдает следующее:
convert_coordinates(string1, string2, coordinate1, coordinate2)
[61, 198]
Моя проблема заключается в том, что итерация таким образом выглядит как старый C код, и я реализую это в Python. Поэтому я подозреваю, что это очень медленно по сравнению с другими структурами данных. Можно ли как-то оптимизировать это, возможно, используя NumPy, может быть? Я хотел бы уйти от базовых c python структур ....