【问题标题】:Split and join element in 2D array拆分和连接二维数组中的元素
【发布时间】:2019-05-10 16:28:54
【问题描述】:

我是python的新手。我拆分了一个包含 100 个单独字符串的列表。它都有300个字符。拆分后,它变成了像二维数组一样的行为,我想将它们连接在一起以获得一开始的列表。

以下是我的示例列表以及我尝试过但不起作用的内容。我想替换 ' ' 而不是 '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)

下面是tokenize函数之后。

['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 字符的字符串来完成上述情况。但是我希望它执行原始列表中的所有字符串。因此,我怎样才能制作一个修剪并连接每个字符串的循环?

【问题讨论】:

标签: python


【解决方案1】:

这两行看起来不对:

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

n 将是token_data 的一个元素,采用token_data[n] 对我来说没有意义,因为n 不是索引,相反我将使用i in n: 用于第二个for 循环.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2013-06-28
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    相关资源
    最近更新 更多