【问题标题】:Change the contents of the array [closed]更改数组的内容[关闭]
【发布时间】:2023-03-14 08:32:02
【问题描述】:

我很困惑如何把它变成星号(*)符号

数组中的输入:

array = [12345, 12354, 12334]

数组中的输出:

['123**', '123**', '123**']

【问题讨论】:

    标签: python arrays string integer


    【解决方案1】:

    您可以这样做,map 转换为字符串,然后进行字符串拼接,然后 ljust 根据长度填充缺失值。

    input_ = [12345, 12354, 12334]
    
    [i[:3].ljust(len(i), "*") for i in map(str, input_)]
    

    ['123**', '123**', '123**']
    

    【讨论】:

      【解决方案2】:

      我不能完全理解这个任务,所以我想它要求把最后两位数字变成星号。 为此,您必须将元素转换为字符串。

      [str(n)[:-2]+"**" for n in list]
      

      这将切断数字的最后两位数字。

      【讨论】:

        【解决方案3】:

        你可以用set申请两次zip

        s = [12345, 12354, 12334]
        r = [[i if len(set(b)) == 1 else '*' for i in b] for b in zip(*map(str, s))]
        result = list(map(''.join, zip(*r)))
        

        输出

        ['123**', '123**', '123**']
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-16
          相关资源
          最近更新 更多