【问题标题】:how to get only the first element of a touple list into an array如何仅将元组列表的第一个元素放入数组中
【发布时间】:2015-02-12 18:03:46
【问题描述】:

我有(查询结果)my_list = [('a',),('b',),('c',),('g',),('j',)]
我想把它翻译成['a','b','c']
我目前所拥有的r = [rs for rs in my_list if rs not in[('g',),('j',)]]

这将获取('a',),('b',),('c',)

【问题讨论】:

    标签: python arrays tuples list-comprehension python-3.3


    【解决方案1】:
    inputs = [('a',),('b',),('c',),('g',),('j',)]
    
    r = [left for (left,) in inputs if left not in ['g','j']]
    

    注意list是python中的一个重要函数,使用它作为变量名会覆盖它。

    【讨论】:

      【解决方案2】:

      你需要选择元组的第一个元素:

      r = [rs[0] for rs in list if rs not in[('g',),('j',)]]
      #       ^
      

      【讨论】:

        【解决方案3】:

        我不明白选择项目的规则是什么,但你想flatten你的初始列表(list重命名为l):

        [item for sublist in l[:3] for item in sublist]
        

        这将返回['a', 'b', 'c']

        如果您已经知道输入列表的结构,则无需过滤每个项目。如果过滤规则比您当前的问题建议的更复杂,您应该指定它们。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-15
          • 2022-11-27
          • 1970-01-01
          相关资源
          最近更新 更多