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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將字符串列表與整數(shù)列表列表相結(jié)合

如何將字符串列表與整數(shù)列表列表相結(jié)合

慕桂英546537 2021-08-14 20:58:51
我想結(jié)合以下字符串列表和列表的整數(shù)列表:lst = ['A',        'A',        'B',        'C',        'C',        'D',        'D',        'D',....]lst_of_lst = [[9, 10, 11, 12],              [54, 55, 56],              [72, 73, 74, 75, 76],               [1, 2, 3, 4, 5],              [98, 99, 100],              [13, 14],              [21, 22, 23],              [27, 28, 29, 30], ....]從而返回元組列表:lst_tups = [('A', 9), ('A', 10), ('A', 11), ('A', 12),            ('A', 54), ('A', 55), ('A', 56),             ('B', 72), ('B', 73), ('B', 74), ('B', 75), ('B', 76),            ('C', 1), ('C', 2), ('C', 3), ('C', 4), ('C', 5),             ('C', 98), ('C', 99), ('C', 100),             ('D', 13), ('D', 14),            ('D', 21), ('D', 22), ('D', 23),            ('D', 27), ('D', 28), ('D', 29), ('D', 30), ....]這 2 個(gè)列表具有相同數(shù)量的列表元素(在上面的測(cè)試用例中 - 8)。不幸的是,由于lst.我嘗試了以下方法,它僅適用于 in 中的每個(gè)子列表的第一個(gè)元素,lst_of_lst并對(duì)中的每個(gè)字符串重復(fù)lst:empty_test_combo = []for x in helix_chain_id:    for y in helix_seq_res_num_ranges:        empty_test_combo += (zip(x, y))我也試過:lst_tups = []for x in lst:    for y in lst_of_lst:        for z in y:            lst_tups.append(zip(x, [z]))這似乎是最有希望的選擇。它返回一個(gè)正確組合lst字符串和lst_of_lst整數(shù)列表的元組列表,但只是部分組合。
查看完整描述

1 回答

?
人到中年有點(diǎn)甜

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

您嘗試使用的方式似乎存在誤解zip。


zip(list1, list2)是一個(gè)迭代器。當(dāng)您對(duì)其進(jìn)行迭代時(shí),您會(huì)得到元組:第一個(gè)由 的第一項(xiàng)list1和 的第一項(xiàng)組成list2,依此類推。


您在這里要做的是將 的zip(lst, lst_of_lst)每個(gè)元素lst與 的相應(yīng)子列表配對(duì)lst_of_lst。從每一對(duì)中,您可以生成所需的輸出。


您可以使用列表理解來做到這一點(diǎn):


lst = ['A', 'A', 'B', 'C', 'C', 'D', 'D', 'D',]


lst_of_lst = [[9, 10, 11, 12],

              [54, 55, 56],

              [72, 73, 74, 75, 76], 

              [1, 2, 3, 4, 5],

              [98, 99, 100],

              [13, 14],

              [21, 22, 23],

              [27, 28, 29, 30],]



out = [(item1, item2) for item1, sublist in zip(lst, lst_of_lst) for item2 in sublist]


print(out)

# [('A', 9), ('A', 10), ('A', 11), ('A', 12), ('A', 54), ('A', 55), ('A', 56), 

#  ('B', 72), ('B', 73), ('B', 74), ('B', 75), ('B', 76), ('C', 1), ('C', 2), ('C', 3), ('C', 4), ('C', 5),

#  ('C', 98), ('C', 99), ('C', 100), ('D', 13), ('D', 14), ('D', 21), ('D', 22), ('D', 23), 

#  ('D', 27), ('D', 28), ('D', 29), ('D', 30)]

或者,用循環(huán)編寫,正如您所嘗試的:


out = []

for item1, sublist in zip(lst, lst_of_lst):

    for item2 in sublist:

        out.append((item1, item2))


查看完整回答
反對(duì) 回復(fù) 2021-08-14
  • 1 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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