ホームページ  >  記事  >  バックエンド開発  >  Pythonでサブリストの要素をマージするにはどうすればよいですか?

Pythonでサブリストの要素をマージするにはどうすればよいですか?

藏色散人
藏色散人オリジナル
2019-03-18 17:53:546431ブラウズ

この記事では、Python でサブリストの要素を結合する実装方法を主に紹介します。たとえば、サブリストを含む 2 つのリストがあったとき、2 つのリストのサブリストの要素を 1 つのリストに結合するというタスクです。 (関連する推奨事項: 「Python チュートリアル 」)

Pythonでサブリストの要素をマージするにはどうすればよいですか?

以下では、Python でサブリスト要素をマージする方法を具体的なコード例とともに説明します。

例:

输入:
list1 =  [[1, 20, 30],
         [40, 29, 72], 
         [119, 123, 115]]

list2 = [[29, 57, 64, 22],
         [33, 66, 88, 15], 
         [121, 100, 15, 117]]
输出: 
         [[1, 20, 30, 29, 57, 64, 22],
         [40, 29, 72, 33, 66, 88, 15],
         [119, 123, 115, 121, 100, 15, 117]]

方法 1: マップ ラムダを使用します

# 初始化第一个列表
list1 = [[1, 20, 30], 
         [40, 29, 72], 
         [119, 123, 115]] 
  
# 初始化第二个列表
list2 = [[29, 57, 64, 22], 
         [33, 66, 88, 15], 
         [121, 100, 15, 117]] 
  
#使用map + lambda合并列表
Output = list(map(lambda x, y:x + y, list1, list2)) 
  
# 打印输出
print(Output)

出力:

[[1, 20, 30, 29, 57, 64, 22],
 [40, 29, 72, 33, 66, 88, 15], 
 [119, 123, 115, 121, 100, 15, 117]]

方法 2: 使用しますZip()

 list1 = [[1, 20, 30], 
         [40, 29, 72], 
         [119, 123, 115]] 
  
list2 = [[29, 57, 64, 22], 
         [33, 66, 88, 15], 
         [121, 100, 15, 117]] 
  
Output = [x + y for x, y in zip(list1, list2)] 
  
print(Output)

出力:

[[1, 20, 30, 29, 57, 64, 22],
 [40, 29, 72, 33, 66, 88, 15],
 [119, 123, 115, 121, 100, 15, 117]]

方法 3: starmap() と concat()

from operator import concat 
from itertools import starmap 
  
list1 = [[1, 20, 30], 
         [40, 29, 72], 
         [119, 123, 115]] 
  
list2 = [[29, 57, 64, 22], 
         [33, 66, 88, 15],  
         [121, 100, 15, 117]] 
  
Output = list(starmap(concat, zip(list1, list2))) 
  
print(Output)

出力:

[[1, 20, 30, 29, 57, 64, 22],
 [40, 29, 72, 33, 66, 88, 15],
 [119, 123, 115, 121, 100, 15, 117]]

この記事は、Python でサブリストの要素を結合する方法の紹介です。

以上がPythonでサブリストの要素をマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。