代码之家  ›  专栏  ›  技术社区  ›  SecretIndividual

访问元组列表中的元素

  •  0
  • SecretIndividual  · 技术社区  · 5 年前

    一直在搜索各地的网站,但我找不到一个解决方案,似乎适合我。我有一个列表,我假设是元组,每个元组中有2个元素。我想用元组遍历这个列表,并将每个元组分解成一个列表。

    数据:

    [('A', 1), ('B', 2), ('C', 3)]
    

    ['A', 'B', 'C']
    [1, 2, 3] 
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   Krishna Chaurasia Rajiv Pandey    5 年前

    将列表理解用作:

    lst = [('A', 1), ('B', 2), ('C', 3)] 
    l1 = [elt[0] for elt in lst]
    l2 = [elt[1] for elt in lst]
    

    l1, l2 = [], []
    for elt in lst:
        l1.append(elt[0])
        l2.append(elt[1])
    
        2
  •  2
  •   ΦXocę 웃 Пepeúpa ツ    5 年前

    zipped = [("a", 1), ("b", 2), ("C", 3)]    
    unzipped_object = zip(*zipped)
    unzipped_list = list(unzipped_object)
    print(unzipped_list)
    

    输出:

    [('a','b','C'),(1,2,3)]

        3
  •  1
  •   Pitto    5 年前

    另一个优点是这个版本使用一个for循环。

    lst = [('A', 1), ('B', 2), ('C', 3)] 
    
    list1 = []
    list2 = []
    for couple in lst:
        list1.append(couple[0])
        list2.append(couple[1])
    
    print(list1)
    print(list2)
    
        4
  •  1
  •   George Imerlishvili    5 年前

    你可以用for循环。

    lst = [('A', 1), ('B', 2), ('C', 3)]
    l1 = []
    l2 = []
    for tup in lst:
        l1.append(tup[0])
        l2.append(tup[1])