亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

列表理解中的變量范圍

列表理解中的變量范圍

滄海一幻覺 2021-08-24 15:28:44
我有一個由字符串和另一個列表組成的元組列表;[('string1', ['a1', 'b1']), ('string2', ['a2', 'b2']), ('string3', ['a3', 'b3'])]我無法弄清楚使用列表理解來達到類似的目的;[['string1a1', 'string1b1'], ['string2a2', 'string2b2'], ['string3a3', 'string3b3']]我試過類似的東西results = [join(ministring, i) for i in (miniarray for (ministring, miniarray) in myarray)]但我對擴展/表達式(?)中的每個變量范圍感到困惑。
查看完整描述

3 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

就這么簡單:


lst = [('string1', ['a1', 'b1']),

 ('string2', ['a2', 'b2']),

 ('string3', ['a3', 'b3'])]


res = [[master + tail for tail in sublist] for master, sublist in lst]

返回:


[['string1a1', 'string1b1'], ['string2a2', 'string2b2'], ['string3a3', 'string3b3']]

請注意,使用這種方法,元組內子列表的長度不是固定的。它可以任意長。


查看完整回答
反對 回復 2021-08-24
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

你可以這樣做:


data = [('string1', ['a1', 'b1']),

 ('string2', ['a2', 'b2']),

 ('string3', ['a3', 'b3'])]


result = [[s + e1, s + e2] for s, [e1, e2] in data]

print(result)

輸出


[['string1a1', 'string1b1'], ['string2a2', 'string2b2'], ['string3a3', 'string3b3']]

請注意,這假設內部列表只有兩個元素。


查看完整回答
反對 回復 2021-08-24
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

試試這個:

new_list = list(map(lambda x: [x[0]+x[1][0], x[0]+x[1][1]],data))


查看完整回答
反對 回復 2021-08-24
  • 3 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號