2017-04-19 19 views
0

元のリストのIDを変更せずにリストを取得しようとすると、リストには各要素間のスペースしか入れられません。追加時にリストのIDを同じに保つ方法

このエラーが発生しても、IDを保持する方法は見つけられませんが、印刷中に各要素の間にスペースのみを入れておく方法はありません。

newlist=[array[x] for x in range(len(array)) if x !=0] 
    array=[] 
    array.append(newlist) 
    newlist=[] 
    print(' '.join(array)) 

はTypeError:シーケンス項目0:予想strのインスタンスは、リストには、エラーメッセージが最後の行

while ans: 


    ans=input("\nSelect an option?\n") 

    if ans=="A": 
     if len(array) < 10: 
      A = list(input('\nInput string: \n')) 
      if len(A) == 1 and str(A): 
       array += A 
      if len(array) == 10: 
       print("Invalid input\n") 

    elif ans=="P": 
     print(' '.join(array)) 

    elif ans=="N": 

     newlist=[array[x] for x in range(len(array)) if x !=0] 
     array=[] 
     array.append(newlist) 
     newlist=[] 
     print(' '.join(array)) 


    elif ans=="M": 
     print(id(array)) 

これは半分のコードのように見えるものであるためである

ました。

私はつもりはIDが常に同じにとどまるべきであることであり、Nが入力された場合、配列の最初の要素は

ポップデルのいかなる使用はスライスを削除しない

を除去してインデックスが許可されています

+1

'array'はあなたのリスト理解文の前に透過値を持っていますか?そうでない場合は、配列の前に 'array'を使用しています –

答えて

0

"クリア"はどうでしょうか? :) Python 3.3以降

elif ans=="N": 

    newlist=[array[x] for x in range(len(array)) if x !=0] 
    array.clear() 
    array.extend(newlist) 
    print(' '.join(array)) 
+0

N入力はIDを同じに保ちながら配列の最初の要素を削除する必要があります –

+0

私の回答が更新されました – shomel

+0

ああ、削除、スライス、インデックス作成 –

関連する問題