Python3中对range()逆序的解释
作者:yuping_zhu 发布时间:2023-03-26 10:27:59
标签:Python3,range,逆序
对range()逆序的解释
在 Python3.6 中,range() 函数返回一个可迭代的范围对象,范围类型表示不可变的数字序列,一般用在 for 循环中。
range() 的返回值不是列表,是需要通过转换类型才能变成列表。
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> range(4)
range(0, 4)
>>> a = range(4)
>>> type(a)
<class 'range'>
>>> b = list(range(4))
>>> b
[0, 1, 2, 3]
>>> type(b)
<class 'list'>
使用方式: range(start, stop[, step]):
start
: 计数从 start 开始。默认是从 0 开始。range(4) 相当于 range(0,4)stop
: 计数到 stop 结束,不包括 stop。range(0,4) 转成 list 后表示 [0, 1, 2, 3]step
:步长,默认为1。range(0,3) 相当于 range(0, 3, 1)
range函数逆序有两种实现方式
1.先创建一个可迭代对象,后对其中的元素进行逆序操作。
a = range(6) # list(a): [0, 1, 2, 3, 4, 5]
new = []
for i in reversed(a):
new.append(i)
print(new) # [5, 4, 3, 2, 1, 0]
2.利用range()函数特点来进行逆序。
new =[]
for i in range(5, -1, -1):
new.append(i)
print(new) # [5, 4, 3, 2, 1, 0]
range(a,b),函数"包前不包后",只包含a,不包含b,默认步长为1。
来看一个比较难的问题
删除某个list里面的重复元素,用sort进行排序,要求从列表list的最后一个元素开始判断
a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]
a.sort()
last=a[-1]
for i in range(len(a)-2,-1,-1):
if last==a[i]:
del a[i]
else:
last=a[i]
print(a) # [0, 1, 2, 3, 4, 5, 7, 8, 9, 10]
解释:
a = [1, 2, 4, 2, 4, 5, 7, 10, 5, 5, 7, 8, 9, 0, 3] # length : 15
a.sort()
print(a) # [0, 1, 2, 2, 3, 4, 4, 5, 5, 5, 7, 7, 8, 9, 10]
last = a[-1]
print(last) # 最后一个元素是last,最开始时为10
# 从index=13(倒数第2个)(包含)开始,倒着数,到 index=-1 (不含)
# 或者说:从下标index=13(含),到index=-1(不含)相当于到index=0(含)
for i in range(len(a)-2, -1, -1):
if last == a[i]: # 将最后一个元素 分别与 其他元素比较大小
del a[i] # 相同就删掉
else:
last = a[i] # 不同就把当前元素赋值传给last
print(a)
range的逆序输出
range的逆序输出的两种方式:
1.使用range里的步长参数 step,step为负值即代表反向输出
range(begin, end, step)
range(begin, end, -1) 表示逆序,范围为: [begin, end)
例子如下:
# range(begin, end, 方向) 范围为: [begin, end) 即 [3, 2, 1]
for i in range(3, 0, -1):
print(i)
print('\n')
# 范围为 [3, 2, 1, 0]
for i in range(3, -1, -1):
print(i)
#========== 结果 ==========#
3
2
1
3
2
1
0
2.使用reverse直接逆序输出
for i in reversed(range(10)):
print(i)
"""
输出结果:
9
8
7
6
5
4
3
2
1
0
"""
来源:https://blog.csdn.net/qq_31362767/article/details/81702491


猜你喜欢
- 一,将介绍如何(1)mysql5.7是有默认密码的查找默认密码grep 'temporary password' /var/
- 一、为什么使用Python进行网络爬虫?由于Python语言十分简洁,使用起来又非常简单、易学,通过Python 进行编写就像使用英语进行写
- 本文实例讲述了php简单定时执行任务的实现方法。分享给大家供大家参考。具体实现方法如下:<?phpignore_user_abort(
- 环境Laravel 5.4原理在Laravel中,门面为应用服务容器中绑定的类提供了一个“静态”接口
- 如果按本文操作遇到一些问题报错,如C:\Users\milyyy\AppData\Roaming\npm-cache\_logs\2018-
- 今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL外键约束详解。一、MySQL外键约束作用外键约束(Foreign Key)即数
- 简介在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进
- 形参可以设置参数默认值,设置遵循从右至左原则例如:fun(x=0,y=1),fun(x,y=1),但不可以是fun(x=1,y)形参设置可以
- 如下: function checkAttachment(){ alert("here"); var attachmen
- Go语言作为一门开源的编程语言,已经广泛应用于各个领域。作为一门现代化的编程语言,Go语言支持模块化开发,而包和依赖管理是模块化开发的重要组
- 1.将下面一段代码插入<head>与</head>之间:<script> function&
- 目录一、 环境准备:1.docker环境2.安装mariadb数据库二、ORM1.ORM简介2.django配置数据库第一种方式:第二种方式
- 生成静态页的方法有很多种,我比较喜欢用xmlhttp的方法生成,因为我不用考虑很多东西,我只要把动态的asp页面编写好就行了。<% s
- 加了三个验证漏洞以及四个getshell方法# /usr/bin/env python3# -*- coding: utf-8 -*-# @
- 具体方法:(推荐教程:mysql数据库学习教程)查看表被锁状态# 查询哪些表锁了show OPEN TABLE
- 由于项目是thinkPHP做后端框架,一直以来都是多页面的后端路由,想使用火热的webpack有点无从下手(原谅我太菜,而且推广vue只有我
- 首先先了解一下,我们的效果实现流程首先登录概述及业务流程和相关技术点录页面的布局创建两个Vue.js文件一个我们来做登录页和注册页登录页面的
- 树莓派与arduino串口通信第一步:先设置硬件串口分配给GPIO串口输入sudo raspi-config命令进入树莓派系统配置界面,选择
- 前言在机器学习中,我们会经常和矩阵打交道。在矩阵的运算中,python默认的输出是浮点数,但是如果我们想要矩阵的元素以分数的形式显示,可以通
- 一、简介urllib.request.urlopen()函数用于实现对目标url的访问。函数原型如下:urllib.request.urlo