不能使用多于一位小数的列表作为 python 中的输入

Can´t use a list with more than one decimal place as input in python

我创建了一个使用顺序搜索来组织列表的算法,但我遇到了问题。我在 Windows 上使用 Idle 在 python(版本 3.4.2)中编程,这发生了:

http://i.imgur.com/fbHAHxY.png

如您所见(我希望),我尝试创建一个包含多于一位小数的数字的输入,并且它以这种奇怪的方式工作。我的问题是:我该如何解决?

这是代码:

#coding:utf8
import time
x=list(input("Type a list:"))
start=time.time()
lista=[]
for a in range(len(x)):
    for b in range(len(x)-1):
    for c in range(b+1,b+2):
        if x[b]>x[c]:
            lista.append(x[b])
            lista.append(x[c])
            x[b]=lista[1]
            x[c]=lista[0]
            lista=[]
        print (x)
        end=time.time()
        print ((end-start)*1000,"ms") 

如果看不到图片:

Input:['1','23','45','67','89','43','51','23','34']

Output:["'", "'", "'", "'", "'", "'", "'", "'", "'", "'", "'", "'", "'", "'", "'", "'", "'", "'", ',', ',', ',', ',', ',', ',', ',', ',', '1', '1', '2', '2', '3', '3', '3', '3', '4', '4', '4', '5', '5', '6', '7', '8', '9', '[', ']']

这一行:

x=list(input("Type a list:"))

对您没有任何帮助。您需要解析字符串。

>>> ast.literal_eval('[1,2,3]')
[1, 2, 3]