【问题标题】:Getting last element of range in Python在Python中获取范围的最后一个元素
【发布时间】:2017-04-06 02:50:29
【问题描述】:

这可能是一个简单的问题,但是您能告诉我如何打印范围内的最后一个元素吗?我是这样做的:

for j in range (3):
    print(j[2:])      # I only wish to print 2 here

但它说

TypeError: 'int' 对象不可下标

你能告诉我如何用这个范围函数得到它吗?

【问题讨论】:

  • 如果您不需要for 循环;只需使用j = range(3) 而不是for j in range(3)
  • 不幸的是我需要使用for循环
  • 然后在循环前赋值一个变量,比如numbers = range(3);将循环更改为for j in numbers:,并使用print(numbers[-1])
  • 使用 for 循环没有任何意义,因为您不需要遍历集合,只需要获取最后一个元素即可。

标签: python indexing range elements


【解决方案1】:

Range 返回一个从 0 到 2 (3 减 1) ([0, 1, 2]) 的列表,因此您可以直接从 range 元素访问该元素。索引-1 指的是最后一个元素。

print(range(3)[-1])

【讨论】:

    【解决方案2】:

    如果范围在您的集合中,您应该能够通过索引直接引用该对象。

    if len(j) > 2:
        print("Value: " + j[2])
    

    【讨论】:

      【解决方案3】:

      此循环将遍历列表并检查它是否是最后一项,如果为真,则打印下面的消息。

      num_list = [28, 27, 26, 25, 24, 23, 22]
       
       for i in range(len(num_list)):
      
          print(num_list[i])
          if num_list[-1] == num_list[i]:
              print ('last number: ' + str(num_list[i]))`
      

      【讨论】:

        猜你喜欢
        • 2022-10-14
        • 2021-10-23
        • 2020-09-06
        • 2019-05-11
        • 2017-02-26
        • 1970-01-01
        • 2012-04-28
        • 2012-04-02
        • 1970-01-01
        相关资源
        最近更新 更多