2016-12-20 6 views
-2

整数を文字列として含むリストがたくさんあります。例えばscored_h0=['2','3','4']。私は各リストの各項目を文字列から整数に変換しようとしていますが、何らかの理由でそれが機能していません。エラーはありません。たとえば、以下のコードを実行した後で、私がprint (scored_h0)(たとえば)の場合、エントリは変換されていません。各リストの各エントリを文字列から整数に変換する

power_list = [scored_h0, scored_h1, conceded_h0, conceded_h1, scored_a0, scored_a1, conceded_a0, conceded_a1] 

for list1 in power_list: 
    list1 = list(map(int, list1)) 

答えて

2

あなたは変数list1に新しい値を割り当てるが、実際の配列を変異されていません。これらすべての配列を変異させたい場合は、以下のようにそれぞれの値を変更する必要があります。

for list1 in power_list: 
    for i in range(len(list1)): 
     list1[i] = int(list1[i]) 
1

このようなものをお探しですか?

scored_h0 = ['1', '2', '3'] 
scored_h1 = ['4', '5', '6'] 
power_list = [scored_h0, scored_h1] 

for i in range(len(power_list)): 
    for j in range(len(power_list[i])): 
     power_list[i][j] = int(power_list[i][j]) 

print(scored_h0) 
print(scored_h1) 

それは印刷されます。

[1, 2, 3] 
[4, 5, 6] 
1

以下の方法が

def to_int(s): 
    for l in s: 
     for id, val in enumerate(l): 
      l[id] = int(val) 

だからあなたはto_int(power_list)

としてそれを呼んで仕事をします
関連する問題