成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python之父:為什么Python數組下標從0開始

開發 后端 前端
曾經有人在Twitter上問我為什么Python使用以0為首位的數組索引法(0-based),并且還給我了一個相關優秀文章的鏈接。這讓我想起許多往事:Python的前身之一,ABC語言使用的是以1為首位的數組索引方式(1-based),而對Python有著巨大影響的C語言則使用的是0-based。

曾經有人在Twitter上問我為什么Python使用以0為首位的數組索引法(0-based),并且還給我了一個相關優秀文章的鏈接。這讓我想起許多往事:Python的前身之一,ABC語言使用的是以1為首位的數組索引方式(1-based),而對Python有著巨大影響的C語言則使用的是0-based。我早期開發的程序語言(Algol、Fortran、Pascal)有的使用1-based,有的則比較靈活。我認為切片語法是我做出這個決定的原因之一。

我們先來看看切片語法的使用吧。它最常見的使用應該是“切出數組的前n位”和“切出數組第i位后的 n位”(前者是后者在i==起始位下的特例)。如果我們不需要使用難看的+1或-1補償方式,那么代碼就會美觀許多。

通過使用0-based索引法,Python的半開區間以及缺省匹配區間都很美觀,如:a[:n] 和a[i:i+n];前者是a[0:n]的省略寫法。

在1-based索引法下,如果你想用a[:n]來表示切出前n個元素的話,你只能選擇在切片語法中使用切片起始位和切片長度2個參數,或者閉區間的用法。使用1-based索引法,半開區間切片語法就顯得不夠美觀。同樣地,使用閉區間切片語法的話,你只能用a[i:i+n-1]來表示從第i位取n個元素。所以如果使用1-based索引法的話,使用切片長度更合適。你可以寫成a[i:n]。事實上,ABC語言就是這樣的——它用了一種特殊的用法,寫為a@i|n。(參考http://homepages.cwi.nl/~steven/abc/qr.html#EXPRESSIONS)

但是index:length的用法適合其它情況嗎?老實說,我不太記得了,但我想我當時的確很喜歡它美觀的半開區間語法。特別是兩個切片操作位置相鄰并且***個切片操作的終點索引就是第二個切片的起點索引的時候,它的寫法實在是太漂亮了。比如,你想以i , j兩點來切分一個數組的話,它們將會是a[:i]、a[i:j]、和 a[j:]。

這就是Python 使用0-based索引法的原因。

原文鏈接: Guido van Rossum   翻譯: 伯樂在線 - colleen__chen
譯文鏈接: http://blog.jobbole.com/58018/

責任編輯:林師授 來源: 伯樂在線
相關推薦

2021-07-09 06:48:29

數組存儲內存

2025-05-29 08:00:00

數組編程語言

2020-09-21 06:10:47

Python lambda匿名函數

2022-05-24 08:31:05

C語言檢查數組

2023-11-04 16:26:18

C語言數組

2020-12-14 08:00:31

計算機計數程序

2023-05-09 07:16:06

2012-12-10 10:16:07

2015-08-20 10:05:15

Python

2020-09-30 08:32:40

Python

2015-08-21 10:14:17

Python 之父Python

2015-05-29 11:14:31

程序員開始看書

2023-03-29 08:52:58

視覺Vue組件庫

2016-05-18 10:15:25

PythonNode.js

2010-11-02 14:31:44

Google Maps

2022-11-26 00:34:57

數組Java程序

2022-08-31 14:24:03

數字化轉型小程序平臺

2024-02-06 09:55:33

框架代碼

2024-06-07 09:13:23

2023-12-25 07:58:46

Python開發.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一色桃子av一区二区 | 国产欧美一区二区久久性色99 | 亚洲人人 | 91久久精品日日躁夜夜躁欧美 | 欧美精品黄 | 欧美午夜精品 | 亚洲精品乱码久久久久久按摩观 | 一级片av | 中文字幕 在线观看 | 国产偷久久一级精品60部 | 成人免费观看男女羞羞视频 | 久久91精品| 99亚洲精品视频 | 国产精品高潮呻吟久久久久 | 精品不卡 | 精品在线免费观看视频 | 日韩在线播放一区 | 精品欧美一区二区久久久伦 | 欧美福利影院 | 黑人一级片视频 | 亚州精品天堂中文字幕 | 精品国产一区二区三区性色av | 九九久久这里只有精品 | 一区二区三区精品视频 | 一级免费a| 久久精品国产一区二区三区不卡 | 色av一区二区 | 成人精品一区二区户外勾搭野战 | 日韩欧美高清dvd碟片 | 一区二区三区四区av | 免费在线h视频 | 人人做人人澡人人爽欧美 | 成人免费三级电影 | 国产亚洲一区二区三区在线观看 | 澳门永久av免费网站 | 日本午夜网 | 日韩在线精品视频 | 美女二区| 91av视频在线| 日本精品视频一区二区 | 就操在线|