[英]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' )。
我打算去做:
預期的 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.