首页 > 解决方案 > 在python中将列表的元素拆分两次,由多个数字作为字符串组成

问题描述

我将以下数据存储在二维数组(列表列表)中。

my_array = ['Tigers', '2021', 'Round', 'Turf', 'Opponent', 'Quarter scores', 'Totalfor', 'Quarter opponent score', 'TotalOpp', 'Result', 'Margin', 'Record', 'Venue', 'Crowd', 'Date']
, ['Tigers', '2021', 'R1', 'H', 'Lions', '4.4 11.7 6.9 13.11', '103', '2.3 5.5 10.8 13.13', '91', 'W', '12', '1-0-0', 'Athenian', '26985', 'Sat 20-Mar-2021 4:05 PM'] 
, ['Tigers', '2021', 'R2', 'A', 'Grizzlies', '3.1 4.7 5.14 10.12', '88', '4.1 9.6 15.11 18.13', '121', 'L', '-33', '1-0-1', 'Soccer stadium', '23946', 'Sat 27-Mar-2021 1:45 PM']

但是,我想获得第 5 个元素的季度分数和第 7 个元素的季度对手分数,并将它们拆分两次。例如:['4.4 11.7 6.9 13.11'] 并专门拆分并获得上一季度的分数。从这里我想得到 13 和 11 并将它们转换为整数,这样我就可以在使用它们之后验证总数。

现在我正在尝试做一些事情,比如先分割空间,然后再分割'。. 我正在考虑一个 for 循环,但我不断收到错误

for i in my_array:
my_array[5].split(' ')
my_array[5].split('.')

有什么帮助吗?

标签: python

解决方案


创建 my_array:

my_array = [
    [
        "Tigers",
        "2021",
        "Round",
        "Turf",
        "Opponent",
        "Quarter scores",
        "Totalfor",
        "Quarter opponent score",
        "TotalOpp",
        "Result",
        "Margin",
        "Record",
        "Venue",
        "Crowd",
        "Date",
    ],
    [
        "Tigers",
        "2021",
        "R1",
        "H",
        "Lions",
        "4.4 11.7 6.9 13.11",
        "103",
        "2.3 5.5 10.8 13.13",
        "91",
        "W",
        "12",
        "1-0-0",
        "Athenian",
        "26985",
        "Sat 20-Mar-2021 4:05 PM",
    ],
    [
        "Tigers",
        "2021",
        "R2",
        "A",
        "Grizzlies",
        "3.1 4.7 5.14 10.12",
        "88",
        "4.1 9.6 15.11 18.13",
        "121",
        "L",
        "-33",
        "1-0-1",
        "Soccer stadium",
        "23946",
        "Sat 27-Mar-2021 1:45 PM",
    ],
]

第一项 [0] 是标题,所以我跳过它们。

这个循环得到了想要的结果。我取列表的第 5 和第 7 个元素,然后按空格分割并返回最后一项:

for i in my_array[1:]:
    print(i[5].split(" ")[-1], i[7].split(" ")[-1])

输出:

13.11 13.13
10.12 18.13

推荐阅读