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

时间:2017-12-16 03:14:44

标签: arrays python-2.7

['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

2 个答案:

答案 0 :(得分: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元素。

此外,这是一种围绕嵌套列表推导阅读和包装头的方法:

答案 1 :(得分: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)