Python 如何使用拆分和for循环提取列表中的单词而不是字符?

Python 如何使用拆分和for循环提取列表中的单词而不是字符?,python,Python,这是我的名单 x = ["TEST0 321", "TEST1 123"] 我试过以下方法 for line in x: line.split() print(line[-2]) 但这让我感到: ['TEST0', '321'] 2 ['TEST1', '123'] 2 我需要的是 ['TEST0'] ['TEST1'] 因为我已将[-2]设置为返回倒数第二个单词,但它返回的是字符。行。split()返回已拆分行的版本,但不会更改原始行 换线 line.split()

这是我的名单

x = ["TEST0 321", "TEST1 123"]
我试过以下方法

for line in x:
    line.split()
    print(line[-2])
但这让我感到:

['TEST0', '321']
2
['TEST1', '123']
2
我需要的是

['TEST0']
['TEST1']
因为我已将
[-2]
设置为返回倒数第二个单词,但它返回的是字符。

行。split()
返回已拆分行的版本,但不会更改原始行

换线

line.split()

或者一次完成整个事情

print(line.split()[-2])

您正在拆分字符串,但不保存结果,然后从每个字符串中获取特定字符


    x = ["TEST0 321", "TEST1 123"]
                 ^            ^

您将从胡萝卜位置获得
2

尝试将拆分分配给变量,然后打印结果:


    x = ["TEST0 321", "TEST1 123"]

    for line in x:
        words = line.split()
        print(words)

现在就得到第一个结果


    x = ["TEST0 321", "TEST1 123"]

    for line in x:
        words = line.split()
        print(words[0])


您没有保存split方法的结果,但为了显示另一种方式,您也可以使用列表理解

y=[i.split()[0] for i in x]
或者使用反向索引

y=[i.split()[-2] for i in x]

这就是基本赋值@Lewiz1989首先计算
line.split()
(返回字符串列表),然后保存回变量
line
TEST0
TEST1
y=[i.split()[0] for i in x]
y=[i.split()[-2] for i in x]