在Python中使用用户输入创建数组的问题

时间:2014-02-19 07:59:24

标签: python arrays tkinter

我有一个使用tkinter的窗口,用户可以输入数组的值:"x","y","z"。然后,当我将数据放入数组(myarray = [myuserinput])时,它会在其周围放置两个单引号:'"x","y","z"'。这可以防止数组被读取 - IndexError:列表索引超出范围
此外,当我尝试使用一些数据和while循环创建另一个数组时,它会在其前面插入很多括号:

    firstcounter = "1"
    thecounters = "0"
    while int(firstcounter) < newfilter :
        thecounters = thecounters,0
        firstcounter = int(firstcounter) + 1
    counters = [thecounters]

此代码还会导致列表索引超出范围错误

请帮助!!!!

1 个答案:

答案 0 :(得分:1)

我会在这里做一个疯狂的猜测并假设你正在处理一个字符串,其中的元素由,分隔。

您需要拆分字符串以获取元素列表。

myarray = myuserinput.split(",")

示例:

In [3]: myuserinput = '"x","y","z"'

In [4]: my_list = myuserinput.split(",")

In [5]: my_list
Out[5]: ['"x"', '"y"', '"z"']

您可以在拆分之前替换""

In [11]: myuserinput = myuserinput.replace('"', '')

In [12]: myuserinput
Out[12]: 'x,y,z'