【问题标题】:Is there a better way than this in python [closed]在python中有没有比这更好的方法[关闭]
【发布时间】:2021-04-17 20:24:33
【问题描述】:

反转数组挑战:下面的代码中是否有更好的方法和短路方法? 不使用外部模块,只使用逻辑/功能

numA = []
    
    for num in range(6):
        numA.append(num)
        
    x = numA[::-1]
    
    for nums in x:
        print('*'*nums)

【问题讨论】:

  • 不确定“更好”是什么意思。一种不同的方式是print('\n'.join('*' * n for n in range(6)[::-1]))(假设numA 在您的示例中是多余的)。

标签: python arrays for-loop append


【解决方案1】:
for nums in range(6):
    print('*'*( 5- nums))

【讨论】:

  • 我喜欢这种方法
【解决方案2】:
numA = []
for num in range(6)[::-1]:
    numA.append(num)
    print('*'*num)

我是初学者,这是我现在能想到的。 范围后的 [::-1] 将其反转,因此您可以组合两个循环。 我不知道为什么你需要这个数组,只是因为如果你注释掉第 1 行和第 3 行可以达到相同的结果。

【讨论】:

  • 嘿,不错,但更好的方法 仅使用 2 行的 num in range(6)[::-1]: print('*'*num)
【解决方案3】:

As mentioned here,在您的阵列上调用.reverse() 可能更有效。您只需要记住,它们的工作方式彼此不同,一个会创建一个新数组并且不会改变原始对象,但 .reverse() 会反转您使用它的对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多