Проблема отображения значения массива в цикле в python

#python-3.x

#python-3.x

Вопрос:

Я создал один массив с другим массивом, но он не отображает значения одно за другим, когда я пытаюсь отобразить его значение с помощью цикла for , точно так же, как родительский массив.

 *import array
arr_py = array.array('i',[12,13,14,15,16,17,18])
print(arr_py,'Len of array--->',len(arr_py))
arr_py2 = (arr_py.typecode,[x*3 for x in arr_py])
print(arr_py2)
for i in range(len(arr_py)):
    print('arr_py[' str(i) ']---->',arr_py[i])
for i in range(len(arr_py2)):
    print('arr_py2[' str(i) ']---->',arr_py2[i])*
  

Пожалуйста, помогите мне выяснить, где я ошибаюсь.

С уважением, Anutosh

Ответ №1:

Вы просто опустили определение массива при создании arr_py2 массива. Таким образом, это стало кортежем вместо массива. Просто обновите этот оператор присваивания до этого:

 arr_py2 = array.array(arr_py.typecode,[x*3 for x in arr_py])
  

Ответ №2:

 import array
arr_py = array.array('i',[12,13,14,15,16,17,18])
print(arr_py,'Len of array--->',len(arr_py))
#arr_py2 = (arr_py.typecode,[x*3 for x in arr_py])
arr_py2 = [x*3 for x in arr_py]
print(arr_py2)
for i in range(len(arr_py)):
    print('arr_py[' str(i) ']---->',arr_py[i])
for i in range(len(arr_py2)):
    print('arr_py2[' str(i) ']---->',arr_py2[i])
  

правильный ответ

arr_py2[0]—-> 36
arr_py2[1]—-> 39
arr_py2[2]—-> 42
arr_py2[3]—-> 45
arr_py2[4]—-> 48
arr_py2[5]—-> 51
arr_py2[6]—-> 54