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



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

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'], '-', '-', '-', '-', '-', '-', '-', '-']

所需的输出覆盖了列表。我知道现在有点不可能,因为First列表应该有一些嵌套值,比如'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(,第一个列表中每隔一个单词,但样式相同。

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

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

#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())

最新更新