網站首頁 Python教程 正文
對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
相關推薦
- 2022-02-02 uni 修改數據頁面不重新渲染
- 2022-07-18 Uniapp中調整web-view的高度、獲取當前的web-view頁面URL
- 2022-02-16 Flutter無context頁面跳轉及獲取全局context
- 2022-03-31 解決在window下執行SQLSERVER定時備份的問題_MsSql
- 2022-09-17 python?pandas處理excel表格數據的常用方法總結_python
- 2023-03-11 Tensorflow的DataSet的使用詳解_python
- 2023-11-16 當pytorch找不到 CUDA 時,如何修復錯誤:版本 libcublasLt.so.11 未在帶
- 2022-03-01 格式化日期‘年月日-時分秒’方法
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支