簡體   English   中英

如何使用 python 將新的壓縮列表合並到現有壓縮列表的中間

[英]how to merge new zipped list into the middle of existing zipped list using python

我得到了這個原始列表:

list1=[['jennifer ryann', 'jennifer lopez'],[' jennifer anniston', 'jennifer jason leigh and jennifer morrison', 'Jennifer Garner']]

由於某些原因,我拆分了子列表:

from itertools import chain
lists = list(chain.from_iterable(list1))

我還需要 zip 元素:

list2 = [(el1, el2) for el1, el2 in zip(lists, lists[1:])]

list2 中的所有項目都是成對的(壓縮列表),例如,('jennifer ryann', 'jennifer lopez')。很少有包含 '' 單詞的成對項目,例如 ('jennifer anniston', 'jennifer jason leigh and jennifer morrison' )。

我打算去做:

  1. 如果在元素中找到“and”字,則元素將被拆分,並且應該刪除“ and ”字。 例如,包含在元素“jennifer jason leigh”和“jennifer morrison”中的單詞“”將被刪除。
  2. 然后,對元素 ' jennifer anniston ' 將與兩個拆分的元素'jennifer jason leigh''jennifer morrison'一起壓縮。 它將生成兩個新的壓縮項目,例如 ('jennifer anniston', 'jennifer jason leigh') 和 ('jennifer anniston', 'jennifer morrison')
  3. 而且,兩個拆分的元素“ jennifer jason leigh ”和“ jennifer morrison ”將與下一個元素“Jennifer Garner”一起壓縮。 這些可以生成另外兩個壓縮元素('jennifer jason leigh','Jennifer Garner')和('jennifer morrison','Jennifer Garner')

預期的 output 將是這樣的:

[('jennifer ryann', 'jennifer lopez'), ('jennifer lopez', ' jennifer anniston'), (' jennifer anniston', 'jennifer jason leigh '),(' jennifer anniston', ' jennifer morrison'), (' jennifer jason leigh ', 'jennifer Garner ') , (' jennifer morrison ', 'jennifer Garner ') ]

在我的代碼中,我能夠在當前壓縮列表中生成新的壓縮列表,但我無法將當前壓縮列表合並到 list2 中。

這是我的代碼

curr_zipp = []

for s, sublists in enumerate(list2):
    for e in range(len(sublists)):
        if 'and' in sublists[e]:
            if e== 1 :
                root_elem = sublists[e - 1]
                split_elem = sublists[e].split('and')
                curr_zipp.append((root_elem,split_elem[0]))
                curr_zipp.append((root_elem,split_elem[1]))


            elif e ==0:
                root_elem = sublists[e -1]
                split_elem = sublists[e].split('and')
                curr_zipp.append((split_elem[0],root_elem))
                curr_zipp.append((split_elem[1],root_elem))

我希望有人可以幫助我合並 curr_zip 列表而不更改項目的當前 position。 維護 position 編號對我很重要 提前謝謝

list2[:2]+curr_zipp將為您提供所需的列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM