Python将文本拆分为lis

2024-10-02 08:19:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把这个

1:a,b,c
2:d,e,f

在这里

[[1, ['a', 'b', 'c']],[2, ['d', 'e', 'f']]]

我的代码

letters = open("letters.txt")
alist = []
for line in favmovies:
    line = line.strip().split(":")
    line[0] = int(line[0])
    alist.append(line)

但它却给出了这个

[[1, 'a,b,c'], [2, 'd,e,f']]

有人能提供一个解决方案吗?你知道吗


Tags: 代码intxtforlineopen解决方案int
3条回答

只需将数组的第二部分除以“,”。你知道吗

letters = open("letters.txt")
alist = []
for line in favmovies:
    line = line.strip().split(":")
    line[0] = int(line[0])
    line[1] = line[1].split(',')
    list.append(line)

这给了我,以你为例:

[1, ['a', 'b', 'c']] 
[2, ['d', 'e', 'f']]

它保留了原始代码的总体格式。你知道吗

这里

letters=open("letters.txt").read().split("\n")
output_list=[]
for el in letters:
    output_list.append([el.split(":")[0],el.split(":")[1].split(",")])

这可以通过list comprehension来实现,比如:

代码:

data = [[int(x[0]), [y.strip() for y in x[1].split(',')]]
        for x in (line.split(':') for line in letters)]

测试代码:

letters = ['1:a, b, c', '2: d, e, f']
data = [[int(x[0]), [y.strip() for y in x[1].split(',')]]
        for x in (line.split(':') for line in letters)]
print(data)

结果:

[[1, ['a', 'b', 'c']], [2, ['d', 'e', 'f']]]

相关问题 更多 >

    热门问题