2017-06-27 7 views
2

の配列に、私はこのような何か入力する必要のある入力()があります。)(入力を変換するのpython

[[('Zamek', 2), ('Polonez', 7), ('Wojska Polskiego', 12), ('Słowiańska', 17), ('Solidarności', 21)], [('Zamek', 10), ('Polonez', 15), ('Wojska Polskiego', 21), ('Słowiańska', 24), ('Solidarności', 28)], [('Zamek', 17), ('Polonez', 22), ('Wojska Polskiego', 29), ('Słowiańska', 32), ('Solidarności', 36)], [('Zamek', 22), ('Polonez', 30), ('Wojska Polskiego', 37), ('Słowiańska', 40), ('Solidarności', 45)]] 

と入力()は、文字列に変換し、その後私はこの上で動作することはできませんリスト。 入力を変換するには何が必要ですか?

答えて

1

危険バージョン:

data = input("Enter your list: ") 
parsed_data = eval(data) 
+0

危険を、しかし仕事!ありがとう –

1

あなたは(だけあなたがそれを提供)の入力が安全であることがわかっている場合、あなただけのevalの

l = eval(input("bring it on:")) 

より良いバージョンast.literal_eval

l = ast.literal_eval(input("much safer:")) 
で使用することができます

どちらの場合でも、入力が信頼できないソースから取得されていないことを確認する必要があります

あなたはより安全な/よりよい解決策持つJSONであるためにあなたの入力を行うことができる場合:

#possible input: [[["Zamek", 2], ["Polonez", 7], ["Wojska Polskiego", 12], ["S\\u0142owia\\u0144ska", 17], ["Solidarno\\u015bci", 21]], [["Zamek", 10], ["Polonez", 15], ["Wojska Polskiego", 21], ["S\\u0142owia\\u0144ska", 24], ["Solidarno\\u015bci", 28]], [["Zamek", 17], ["Polonez", 22], ["Wojska Polskiego", 29], ["S\\u0142owia\\u0144ska", 32], ["Solidarno\\u015bci", 36]], [["Zamek", 22], ["Polonez", 30], ["Wojska Polskiego", 37], ["S\\u0142owia\\u0144ska", 40], ["Solidarno\\u015bci", 45]]] 
l = json.loads(input("please provide it in json format...")) 
関連する問題