将字符串数组拆分为单个元素

问题描述 投票:0回答:2
['2,3', '1,2,3', '4,5,6', '2,3', '10,11', '13,14,15', 'END']

而不是现在这个数组的外观,我需要它看起来像这样:

[2,3,1,2,3,4,5,6,2,3,等...]

我也无法弄清楚,或者即使有办法分离字符串数组,使它们不是字符串而是整数。

这是我的read方法以及它如何分隔我的txt文件

def read_file():
    with open('extra.txt') as fp:#read file
        lines = fp.read().split();
    fp.close(); #close file
    return lines; #return lines to main function
arrays python-2.7
2个回答
0
投票

您可以使用list comprehension,一次性使用str.split()以逗号和int()分割字符串以转换为整数:

In [1]: l = ['2,3', '1,2,3', '4,5,6', '2,3', '10,11', '13,14,15', 'END']

In [2]: [int(number) for item in l[:-1] for number in item.split(",")]
Out[2]: [2, 3, 1, 2, 3, 4, 5, 6, 2, 3, 10, 11, 13, 14, 15]

l[:-1]跳过最后一个END元素。

此外,这里有一种方法来读取和包围嵌套列表推导的头部:


0
投票

如果您的old_list是包含上述字符串的列表,

old_list.remove('END')
new_list = []
for i in old_list:
    sp = i.split(',')
    for j in sp:
        new_list.append(j)
© www.soinside.com 2019 - 2024. All rights reserved.