【问题标题】:How to match parentheses and comma formatting in list, python如何匹配列表中的括号和逗号格式,python
【发布时间】:2013-05-28 20:35:46
【问题描述】:

我正在尝试将电子表格中两列中的条目合并到 python 中的单个列表中。第一列包含每对中的第一个人,是提出问题的人,即提问者。第二个是回答的人:回答者。我希望列表看起来像这样:

[('Jack', 'Jill'), ('Jack', 'John'), ('Jack', 'Jason'), ('Jill', 'John')...]

但是,我的列表如下所示:

['(Jack, Jill)', '(Jack, John)', '(Jack, Jason)', '(Jack, john)'...]

主要区别在于,在第一个列表中,引号在括号的内侧,而在第二个列表中,引号在括号的外侧。

这是我的过程:

answerers = line['answerers'].split(" ")
for answerer in answerers:
    edgelist.append("(" + line['questioner'] + ", " + answerer + ")")

我应该做些什么不同的事情来让引号在里面,每个人周围,而不是在外面?

【问题讨论】:

  • line 是如何定义的?
  • 对不起:line 是遍历整个电子表格的大型嵌套 for 循环的迭代器。所以一行是电子表格中的一行。
  • @goldisfine 你可以发布几行然后。

标签: python list formatting parentheses


【解决方案1】:

只需将它们保留为两个单独的列表,例如 askeranswerer 然后执行此操作

>>> asker = ['Jack','Jack','Jack','Jill']
>>> answerer = ['Jill','John','Jason','John']
>>> finalList = zip(asker, answerer)
>>>
>>>
>>> finalList
[('Jack', 'Jill'), ('Jack', 'John'), ('Jack', 'Jason'), ('Jill', 'John')]

【讨论】:

    【解决方案2】:
    edgelist.append((  line['questioner'] ,answerer))
    

    假设我理解你的问题

    【讨论】:

    • 感谢乔兰,回答了这个问题!
    【解决方案3】:

    或单行:

    edgelist = [(line['answerer'], answerer) for answerer in answerers]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多