第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

列表的條件合并

列表的條件合并

慕妹3242003 2021-09-25 10:13:36
我正在嘗試根據(jù)以下規(guī)則合并兩個列表:list1 中的第一個元素應(yīng)與 list2 中的最后一個元素合并,list1 中的第二個元素應(yīng)與 list2 中的倒數(shù)第二個元素合并,依此類推。如果 list1/list2 中的元素為 None,則另一個列表中的相應(yīng)元素應(yīng)保持在合并列表中。我覺得我可能必須在這里使用鏈表,但我不確定。我試圖通過遍歷列表來找出解決方案,但我無法弄清楚這里的邏輯。def merge_list(list1, list2):    merged_data=""    new_str=""    #write your logic here    for l1 in list1:        for l2 in list2[::-1]:            if l1 is None or l2 is None:                pass            else:                new_str = l1+l2                i=list2.index(l2)                print(new_str)            break    #return resultant_datalist1=['A', 'app','a', 'd', 'ke', 'th', 'doc', 'awa']list2=['y','tor','e','eps','ay',None,'le','n']merged_data=merge_list(list1,list2)print(merged_data)預(yù)期輸出:“一天一蘋果,醫(yī)生遠(yuǎn)離我”
查看完整描述

3 回答

?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊

您可以使用zip同時迭代兩個列表:


def merge_list(lst1,lst2):

    s = ''

    for x, y in zip(lst1, lst2[::-1]):

        if y and x:

            s += x + y

        elif x:

            s += x

        elif y:

            s += y

        s += ' '

    return s[:-1]


list1 = ['A', 'app','a', 'd', 'ke', 'th', 'doc', 'awa']

list2 = ['y','tor','e','eps','ay',None,'le','n']

merged_data = merge_list(list1,list2)


print(merged_data)

# An apple a day keeps the doctor away

您可以縮短它并使用列表理解,如下所示(但是,我更喜歡另一個更具可讀性的):


def merge_list(lst1,lst2):

    return ' '.join(x + y if x and y else x if x else y for x, y in zip(lst1, lst2[::-1]))


查看完整回答
反對 回復(fù) 2021-09-25
?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗 獲得超6個贊

def fetch_index(list2, item_index):

    x = list2[::-1]

    return x[item_index]


def merge_list(list1, list2):

    list_3 = []

    #write your logic here

    for l1 in list1:

        l2 = fetch_index(list2, list1.index(l1))

        if l1 is None and l2 is None:

            pass

        elif l1 is None:

            list_3.append(l2)

        elif l2 is None:

            list_3.append(l1)

        else:

            list_3.append(l1+l2)

    return(list_3)


list1=['A', 'app','a', 'd', 'ke', 'th', 'doc', 'awa']

list2=['y','tor','e','eps','ay',None,'le','n']

x = merge_list(list1,list2)

print ' '.join(i for i in x)

如果您不想使用 zip,請使用更長的版本


查看完整回答
反對 回復(fù) 2021-09-25
?
陪伴而非守候

TA貢獻(xiàn)1757條經(jīng)驗 獲得超8個贊

list1=['A', 'app','a', 'd', 'ke', 'th', 'doc', 'awa']

list2=['y','tor','e','eps','ay',None,'le','n']

s=''

new=''

for i in list1:

    for j in list2[::-1]:

        if i==None:

            i=''

        elif j==None:

            j=''

        new=i+j

        s=s+new+' '

        list2.pop(-1)

        break

print(s)


查看完整回答
反對 回復(fù) 2021-09-25
  • 3 回答
  • 0 關(guān)注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號