替换列表中的值(列表重叠)

2024-04-25 19:10:02 发布

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

好吧,如果你不懂语言,输出可能不清楚。以下是示例:

        0       1       2         3       4
x = ['text1','text2','text3'  ,'text4','text5']   - scrapped_sentence[-30+position:position+30], where position is taken from re.finditer
y = [  '-'  ,  '-'  ,['text1'],  '-'  ,['text2']] - texts from re.findall
out=[  '-'  ,  '-'  ,  text1  ,  '-'  , 'text2']  - scrapped sentence

问题:

我正在试图找出一个代码,用一个列表替换另一个列表。你知道吗

第一个列表的索引列表:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

第二个列表的索引列表:[37, 39, 41, 42, 43, 50, 63, 69]

第一个列表:

['gospodarcze: gospodarcze ', 'parking: parkingo', 'parking: parkingo', 'garaż: garaże', 'garaż: garaże', 'garaż: garaże', 'garaż: garaże', 'ogród: ogród.', 'ogród: ogród.', 'ogrod: ,ogrode', 'ogrod: ,ogrode', 'remon: remont', 'aneks: anekse', 'aneks: anekse', 'zabudow: zabudowi', 'zabudow: zabudowi']

在第一个列表中将有更多的字符(句子+/-60个字符)。下面是简短的(+/1个字符)以便更好地查看。你知道吗

第二个列表:

['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', ['gospodarcze'], '-', ['parking', 'parking'], '-', ['garaż', 'garaż', 'garaż', 'garaż'], ['ogród', 'ogród'], ['ogrod', 'ogrod'], '-', '-', '-', '-', '-', '-', ['remon'], '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', ['aneks', 'aneks'], '-', '-', '-', '-', '-', ['zabudow', 'zabudow'], '-', '-', '-', '-', '-', '-', '-', '-']

所需的输出与列表重叠。我知道现在有点不可能,因为第一个列表应该有一些嵌套值,比如'parking: parkingo', 'parking: parkingo。还在努力。你知道吗

['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', 'gospodarcze: gospodarcze', '-', ('parking: parkingo', 'parking: parkingo'), '-', ('garaż: garaże', 'garaż: garaże', 'garaż: garaże', 'garaż: garaże'), ('ogród: ogród.', 'ogród: ogród.'), ('ogrod: ,ogrode', 'ogrod: ,ogrode'), '-', '-', '-', '-', '-', '-', remon: remont, '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', (aneks: anekse', 'aneks: anekse'), '-', '-', '-', '-', '-', ('zabudow: zabudowi', 'zabudow: zabudowi), '-', '-', '-', '-', '-', '-', '-', '-']

我在试这个代码:

for h in position_list_k: #postion_list_k = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
    for n, i in enumerate(lista_j):
        if i != '-':
            lista_j[n] = lista_k[h]
#lista_k - 1st list, lista_j - 2nd

也尝试过:

jk = []
for i in lista_j:
    if i == '-':
        jk.append(lista_j)
    else:
        jk.append(lista_k)
print(jk)

但输出(第一次尝试)如下:

['gospodarcze: gospodarcze ', 'parking: parkingo', 'parking: parkingo', 'garaż: garaże', 'garaż: garaże', 'garaż: garaże', 'garaż: garaże', 'ogród: ogród.', 'ogród: ogród.', 'ogrod: ,ogrode', 'ogrod: ,ogrode', 'remon: remont', 'aneks: anekse', 'aneks: anekse', 'zabudow: zabudowi', 'zabudow: zabudowi']

['-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', 'zabudow: zabudowi', '-', 'zabudow: zabudowi', '-', 'zabudow: zabudowi', 'zabudow: zabudowi', 'zabudow: zabudowi', '-', '-', '-', '-', '-', '-', 'zabudow: zabudowi', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', '-', 'zabudow: zabudowi', '-', '-', '-', '-', '-', 'zabudow: zabudowi', '-', '-', '-', '-', '-', '-', '-', '-']

如果我在打印列表时增加缩进,我将得到15个列表(h),第一个列表中每隔一个单词,但样式相同。你知道吗

这个列表的主要问题是第一个列表应该有嵌套列表或元组。如果是,则两个列表的索引数相同。


Tags: 列表positionogrlistaparkinggaraogrodzabudowi
1条回答
网友
1楼 · 发布于 2024-04-25 19:10:02

哈哈,伙计们,我做到了。睡眠对编码很有帮助。代码如下:

#for j to 77:
for m in re.finditer(HEADERS[j], p):
            #print((m.start(),m.end()), m.group())
            m_start.append(m.start())
            m_end.append(m.end())
            x = m_start[0]
            y = m_end[0]
        #extra line (extra logic as benvc mentioned):
        if m_start and m_end != None:
            print(m_start,m_end,m.group())

相关问题 更多 >

    热门问题