【问题标题】:make a list of int and a list of string into a list of tuple (int,string)将一个 int 列表和一个字符串列表变成一个元组列表 (int,string)
【发布时间】:2015-09-24 00:25:11
【问题描述】:

我有一个列表 [1,2,3,...,13] 和一个列表 ['clubs','hearts,'spades','diamonds']。我如何制作一个看起来像...的元组列表 [(1,hearts),(1,clubs),(1,spades),(1,diamonds),(2,hearts)...等等?

我尝试过使用列表推导,但无法弄清楚。

【问题讨论】:

  • 你使用什么语言?
  • 我在 python 中需要它。

标签: string list python-3.x int tuples


【解决方案1】:

来自Python docs

rank = [1, 2, 3]
suit = ['clubs', 'hearts', 'spades']
card = [(a, b) for a in rank for b in suit]

【讨论】:

    【解决方案2】:

    使用product from itertools的另一种解决方案

    from itertools import product
    rank = range(1,14)
    suit = ['clubs','hearts','spades','diamonds']
    print( list(product(rank, suit)) )
    

    你得到:

    [(1, 'clubs'), (1, 'hearts'), (1, 'spades'), (1, 'diamonds'), (2, 'clubs'), (2, 'hearts'), (2, 'spades'), (2, 'diamonds'), (3, 'clubs'), (3, 'hearts'), (3, 'spades'), (3, 'diamonds'), (4, 'clubs'), (4, 'hearts'), (4, 'spades'), (4, 'diamonds'), (5, 'clubs'), (5, 'hearts'), (5, 'spades'), (5, 'diamonds'), (6, 'clubs'), (6, 'hearts'), (6, 'spades'), (6, 'diamonds'), (7, 'clubs'), (7, 'hearts'), (7, 'spades'), (7, 'diamonds'), (8, 'clubs'), (8, 'hearts'), (8, 'spades'), (8, 'diamonds'), (9, 'clubs'), (9, 'hearts'), (9, 'spades'), (9, 'diamonds'), (10, 'clubs'), (10, 'hearts'), (10, 'spades'), (10, 'diamonds'), (11, 'clubs'), (11, 'hearts'), (11, 'spades'), (11, 'diamonds'), (12, 'clubs'), (12, 'hearts'), (12, 'spades'), (12, 'diamonds'), (13, 'clubs'), (13, 'hearts'), (13, 'spades'), (13, 'diamonds')]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-24
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      相关资源
      最近更新 更多