我对列表Python 2.7有一些问题

时间:2017-12-07 06:27:36

标签: python string list append

你能告诉我这里有什么问题吗?

由于某些原因,列表中没有任何内容。

textarea = raw_input()
n=0
txa = []
string =""

while(n < len(textarea)):
    if(textarea[n] != ' ' or textarea[n] != ','):

        string += textarea[n]
        n=n+1
        print (string)

    else:
        print "For some reason I'm never here."

        if(string == ' ' or string == ','):
            string = ""
        else:
            txa.append(string)
            string = ""
            n=n+1
print(txa)

抱歉我的英文。

3 个答案:

答案 0 :(得分:0)

您需要将if语句中的(?<=\.\n)\s* 更改为or。目前条件总是正确的,因为and不可能同时为''和','。

您还可以使用正则表达式将字符串拆分为here

答案 1 :(得分:0)

>>> txt = "Hello, goodbye Fred"
>>> txt.replace(',', ' ').split()
['Hello', 'goodbye', 'Fred']

答案 2 :(得分:0)

首先,您需要使用or更改第一个if中的and

其次,第一个if-else中的else块是多余的。尝试删除它,但保留第二个else块中的代码。

第三,在append之后添加while,以便存储在string变量中的最后一个单词也会进入txa列表。

你的代码几乎就是这样 -

while(n < len(textarea)):
    if(textarea[n] != ' ' and textarea[n] != ','):
        string += textarea[n]
        n=n+1
        print (string)

    else:
        print ("For some reason I'm never here.")
        txa.append(string)
        string = ""
        n=n+1

txa.append(string)
print(txa)

提示:此外,您可以尝试使用内置函数为您进行拆分。

txa = str(raw_input()).replace(',', ' ').split()

这个单线程工作正常。