分割并合并2D数组中的元素

时间:2019-05-10 16:28:54

标签: python

我是python的新手。我已经拆分了一个包含100个单独字符串的列表。全部都有300个字符。拆分后,它变得像2D数组,我想将它们连接在一起以获取开头的列表。

以下是我的示例列表以及我尝试过的示例,但是它不起作用。我想用''代替'1',并删除少于3个字符的长度并将它们连接在一起。只有替换功能不起作用,在这种情况下我无法删除单词。

1        c1|FaAO120O'8ovfoy1W#atvGs1[1s1[1/1]O-a8o1-...
2        O8v^10O#to1'#^'^tv1^]s111t01Otaq>-ata_1...
3        *#^-G1_#O-#b^'ta8a2%e1|28Oot^12#O-#ys1>c...
def tokenize(text): 
    return text.split("1")

def trimm(text):
    return ' '.join([i for i in data if len(i) > 3])

token_data = [tokenize(i) for i in X]
#trim_data = [trimm(i) for i in token_data]
for n in token_data:
    for i in token_data[n]:
        res=trimm(i)

下面是标记化函数之后。

['c', '|FaAO', "20O'8o\x02vfoy", 'W#at\x1bvGs', '[', 's', '[', '/', ']O-a8o', '-\x1b-\x03\x1b#', '^]', '-a\x02\x1b', 'av', 'vc]]\x1b#a\x02d', ']#^-', 'O', 'v\x1bz\x1b#\x1b', "A\x1b'#\x1bvva^\x02", '\x03#^cd0t', '^\x02s', '[', '\x03o', "-\x1b\x02^'Ocv\x1b", 'Ov', 'W\x1b88', 'Ov', 'O', '-\x1b\x02tO8', '\x03#\x1bOf', 'A^W\x02\x08', '', '>0\x1b', 'av', '\x03\x1ba\x02d', 't#\x1bOt\x1bA', 'Wat0s', '[', 'gO8oA^8', 'Wat0', 'v^-\x1b', 'vc__\x1bvv', '\x03ct', 't0\x1b', 't#\x1bOt-\x1b\x02tv', '\x03\x1ba\x02d', "'#^zaA\x1bA", 't0#^cd0', '0\x1b#s', '[', "'vo_0aOt#avt", 'O#\x1b', '\x02^t', 'vOtav]O_t^#o\x08', '', '>^-']

以下是修剪功能之后

|FaAO 20O'8ovfoy W#atvGs ]O-a8o --# -a vc]]#ad ]#^- vz# A'#vva^ #^cd0t -^'Ocv W88 -tO8 #Of A^W ad t#OtA Wat0s gO8oA^8 Wat0 v^- vc__vv t#Ot-tv ad '#^zaAA t0#^cd0 0#s 'vo_0aOt#avt vOtav]O_t^#

以上情况我只能做一个300个字符的字符串。但是我希望它执行原始列表中的所有字符串。因此,如何进行修剪和连接每个字符串的循环?

1 个答案:

答案 0 :(得分:0)

这两行看起来不对:

for n in token_data:
    for i in token_data[n]:

n将是token_data的元素,对我来说,使用token_data[n]并不有意义,因为n不是索引,而是用于{{ 1}}用于第二个i in n:循环。