【问题标题】:it possible to select two elements from one array and showing as one string可以从一个数组中选择两个元素并显示为一个字符串
【发布时间】:2021-07-08 03:35:07
【问题描述】:

是否可以从 one 数组中选择两个元素。在我的情况下,我想 select 这样的a[1,2] 并仅以一种字符串格式显示'12'a[0]+a[1] 的瞬间,还有其他可能的方法吗?

python 代码

 a = ['1','2','3','4','5']
 a[0]

执行结果

 '1'

预期的代码如

 a = ['1','2','3','4','5']
 a[0,1]

预期结果(一个字符串)

  '12'

【问题讨论】:

  • a[0]+a[1]。不,你不能这样做a[0,1]。您正在传递一个元组而不是单个整数
  • 亲爱的,非常感谢,还有其他可能的方法吗?
  • ''.join(a[0:2])
  • 亲爱的,非常感谢!
  • 非常欢迎。很高兴知道这一点

标签: python split strip


【解决方案1】:

您可以自定义一个新类来实现这一点:

class List_:
    def __init__(self, data):
        self.data = data
    
    def __getitem__(self, pos):
        return "".join(self.data[i] for i in pos)
    
a = List_(['1','2','3','4','5'])
a[0, 1]

结果:

'12'

【讨论】:

    【解决方案2】:

    Python 可以将索引连接成一个字符串,以便获得所需的输出:

    a = ['1','2','3','4','5']
    print(a[0]+a[1])
    

    返回:

    '12'
    

    【讨论】:

    • 它返回一个字符串 12:'12'.
    【解决方案3】:

    给定一个任意索引列表,您可以选择具有理解和join() 的索引:

    a = ['1','2','3','4','5']
    
    indexes = [1, 3, 4]
    ''.join(a[n] for n in indexes)
    # 245
    

    您也可以使用内置的itemgetter。如果您想从多个列表中获取相同的项目,这很方便:

    from operator import itemgetter
    
    a = ['1','2','3','4','5']
    b = ['5','6','7','8','9']
    
    gettr = itemgetter(1,3, 4)
    
    "".join(gettr(a))
    # 245
    
    "".join(gettr(b))
    # 689
    

    【讨论】:

      【解决方案4】:

      您可以尝试对数组进行切片以隔离您想要的部分,然后只需将字符串join 形成一个字符串。例如,对于前 3 个元素,您可以尝试:

      a = ['1','2','3','4','5']
      print(''.join(a[0:3]))  # prints '123'
      

      【讨论】:

      • @Mary 很高兴为您提供帮助,欢迎来到 Stack Overflow。
      【解决方案5】:

      正如 cmets 所说,您可以使用 print(a[0]+a[1])print("".join(a[0:2])) 来获得所需的输出。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-10
        • 1970-01-01
        • 2012-02-03
        • 1970-01-01
        相关资源
        最近更新 更多