2017-04-24 26 views
0

は、最初に私はテストコード記述:リスト形式を修正するにはどうすればよいですか?

a = [-0.2364, 2.2524, 8.4896,'a'] 
l = [] 
for i,each in enumerate(a,start=1): 
    l.append(["{}, {}".format(i,each)]) 
lst = str(l).translate(None, "'") 
print lst 

を、出力はこれは私がリストの各項目のシリアル番号を追加したいと望むものである

[[1, -0.2364], [2, 2.2524], [3, 8.4896], [4, a]] 

okです。そして、私はhttplibのデータを読んでみて、テストリストaを置き換えようとします。 aは大丈夫そうです

[-0.035308122832456316] 
[[1, [], [2, -], [3, 0], [4, .], [5, 0], [6, 3], [7, 5], [8, 3], [9, 0], [10, 8], [11, 1], [12, 2], [13, 2], [14, 8], [15, 3], [16, 2], [17, 4], [18, 5], [19, 6], [20, 3], [21, 1], [22, 6], [23, ]]] 

リスト:

a = response.read() 
l = [] 
for i,each in enumerate(a,start=1): 
    l.append(["{}, {}".format(i,each)]) 
lst = str(l).translate(None, "'") 
print a  
print lst 

しかし、出力は次のように変更されます。

[-0.035308122832456316] 
[[1,-0.035308122832456316]] 

どのように私はこの問題を解決することができありがとう:?しかし、出力lstは、私は私のような出力を取得しようと、このケースをexpected.Forものではありません!

+0

返信は文字列ではないリストですか?文字列の各文字が** a **のリスト項目とみなされる文字列でコードを実行しているようです。 –

+0

はい。 '[-0.035308122832456316]'これは私の出力である応答について() –

+1

それでも私は** A **は、文字列 '' [-0.035308122832456316] '' タイプ(a)は ' –

答えて

0

は、単にコードの下に使用し、それはあなたのために正常に動作します文字列'[-0.035308122832456316]'あるかさえ、このa = '[-0.035308122832456316,89427873479875]'のような複数のリストの値であれば、私は上記のように。

import ast 
a = response.read() 
a = ast.literal_eval(a) #Convert String representation of list to list 
l = [] 
for i,each in enumerate(a,start=1): 
    l.append(["{}, {}".format(i,each)]) 
lst = str(l).translate(None, "'") 
print a  
print lst 
0

リストの代わりに辞書で作業をしてみてください。

a = [-0.2364, 2.2524, 8.4896, 'a'] 
l = {} 
for i, each in enumerate(a, start=1): 
    l[i] = each 
print l 

aが1つの項目でリストであることを、あなたの表示をシミュレートするには:

a = [-0.035308122832456316] 
l = {} 
for i, each in enumerate(a, start=1): 
    l[i] = each 
print l 

他の人が示されているように、場合、aこと値が"[-0.035308122832456316]"の文字列である場合は、リストに変換します。

a = "[-0.035308122832456316]" 
if isinstance(a, str): 
    a = [a[1:-1]] 
l = {} 
for i, each in enumerate(a, start=1): 
    l[i] = each 
print l 
+0

ありがとう!これも良いです'チェックしてみてくださいであると考えています –

関連する問題