【问题标题】:Python: get new list from some contents of tuplePython:从元组的某些内容中获取新列表
【发布时间】:2017-07-31 17:58:58
【问题描述】:

我有一个元组x

x = (('PHACTR', 5),
 ('DPEP', 6),
 ('FREM', 7),
 ('ODAM', 5),
 ('PCP', 8),
 ('DYNC', 5),
 ('ZNRF', 8),
 ('WIF', 4))

在这种情况下,我不知道如何使用list.appendlist.extend 方法。

如何获取包含['PHACTR, DPEP, FREM, ODAM, PCP, DYNC,ZNRF, WIF'] 的列表?

【问题讨论】:

  • 请问你为什么想要一个包含一个元素而不是字符串的列表?
  • @timgeb 实际上,OP 说他们想要一个包含 ['PHACTR, DPEP, FREM, ODAM, PCP, DYNC,ZNRF, WIF'] 的列表;这将是一个单元素列表,其中包含一个包含单个字符串的列表,即 alist = [['PHACTR, DPEP, FREM, ODAM, PCP, DYNC,ZNRF, WIF']] ;)

标签: python list tuples python-3.5


【解决方案1】:

您似乎想以列表中的一个字符串结尾:

out = [', '.join([t[0] for t in x])]

【讨论】:

  • 或者在 Python 3.6 中:[', '.join([*zip(*x)][0])],在 Python 2 中:[', '.join(zip(*x)[0])] ;)
【解决方案2】:

您可以遍历您的元组(包含元组)并使用列表推导获取第一个元素:

[t[0] for t in x]

这将返回一个包含名称的列表。

编辑:如果您想要一个包含逗号字符串的列表,您应该使用 Roelants 答案。我误读了这个问题。

【讨论】:

  • ['PHACTR', 'DPEP', 'FREM', 'ODAM', 'PCP', 'DYNC', 'ZNRF', 'WIF'] 我只想在 t[ 0]s 在我的列表中,例如 PHACTR、DPEP、FREM
  • 所以你想以一个字符串结尾?如果我理解你的话?看我的回答:)
猜你喜欢
  • 2018-11-11
  • 1970-01-01
  • 1970-01-01
  • 2021-08-23
  • 2015-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-01
相关资源
最近更新 更多