【问题标题】:Can anybody show me an alternative to [::-1] ? I am trying to print a list in reverse order [duplicate]任何人都可以告诉我 [::-1] 的替代方法吗?我正在尝试以相反的顺序打印列表[重复]
【发布时间】:2017-03-28 12:49:04
【问题描述】:
infile=open("Integers.txt", "r")
ListIntegers=infile.readline().strip("\n").split(";")
def avgFirstThreeDigits(mylist):
    list=[]
    for i in range(0,len(mylist)):
        sumFirstThreeDigits=(int(mylist[i][0])+int(mylist[i][1])+int(mylist[i][2]))
        avg=sumFirstThreeDigits/3
        list.append(avg)
    print(list[::-1])
avgFirstThreeDigits(ListIntegers)

【问题讨论】:

  • (对不起代码)
  • 选择代码并按“ctrl+k”格式化。
  • 别抱歉。正确编辑和格式化。
  • 另外,考虑使用“搜索”功能。
  • @AtakanAk。 [::-1] 有什么问题?这是作业题吗?

标签: python


【解决方案1】:

您可以使用以下内容手动反转列表:

a = ['a', 'b', 'c', 'd']
b = [a[len(a) - i - 1] for i in range(len(a))]

>>> b
>>> ['d', 'c', 'b', 'a']

【讨论】:

  • [a[i] for i in range(len(a) - 1, -1, -1)].
【解决方案2】:

如果您只想获取元组/向量平均值的列表,您可以这样做:

list_averages = [(sum(v3) / len(v3)) for v3 in list_integers]

或者只是使用多种方法中的另一种来计算arithmetic mean average will do

关于[::-1]的替代方案,您可以使用list.reverse

但请注意list.reverse 会在原地修改,如果您不想这样做,可以使用list(reversed(list_averages))。无论如何,我不知道您为什么不想使用 [::-1],这是一个非常快的选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多