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

什么叫做類比,為什么有些 Python 入門教程結構不合理

開發 后端
教程在講 Python 基礎數據結構的時候,結構雖然說是中規中矩由淺入深,但是它并沒有讓讀者做到類比學習觸類旁通。為什么這樣說呢?因為這些教程的教學模式,使得讀者不容易發現字符串、列表、元組的相同之處。

想必關注未聞 Code的同學或多或少都在網上看過各種各樣的 Python 入門教程。這些教程在講 Python 基礎數據結構的時候,一般是按照下面這個模式來講的:

  • 數字、字符串、浮點數
  • 列表
  • 字典
  • 集合

這個結構雖然說是中規中矩由淺入深,但是它并沒有讓讀者做到類比學習觸類旁通。

[[342126]]

所謂類比

為什么這樣說呢?因為這些教程的教學模式,使得讀者不容易發現字符串、列表、元組的相同之處。

我們從“讀”這個角度來看看這三個數據結構。假設有一個字符串叫做a,有一個列表叫做b,有一個元組叫做c。那么大家請看如下的操作。

(1) 按索引讀取元素

  1. a[0]  # 字符串第一個字符 
  2. b[0]  # 列表第一個元素 
  3. c[0]  # 元組第一個元素 
  4.  
  5. a[3]  # 字符串第4個字符 
  6. b[3]  # 列表第4個元素 
  7. c[3]  # 元組第4個元素 
  8.  
  9. a[-1]  # 字符串最后一個字符 
  10. b[-1]  # 列表最后一個元素 
  11. c[-1]  # 元組最后一個元素 

按索引讀取元素這個操作,字符串、列表和元組完全相同。

(2) 切片

  1. a[1: 4]  # 讀取字符串第2、3、4個字符 
  2. b[1: 4]  # 讀取列表第2、3、4個元素 
  3. c[1: 4]  # 讀取元組第2、3、4個元素 
  4.  
  5. a[: 4]  # 讀取字符串前4個字符 
  6. b[: 4]  # 讀取列表前4個元素 
  7. c[: 4]  # 讀取元組前4個元素 
  8.  
  9. a[-3: ]  # 讀取字符串最后3個字符 
  10. b[-3: ]  # 讀取列表最后3個元素 
  11. c[-3: ]  # 讀取元組最后3個元素 

切片這個操作,字符串、列表和元組完全相同。

(3) 循環迭代

  1. for char in a:  # 對字符串進行迭代 
  2.     print(char) 
  3.  
  4. for element in b:  # 對列表進行迭代 
  5.     print(element) 
  6.  
  7. for element in c:  # 對元組進行迭代 
  8.     print(element) 

循環迭代這個操作,字符串、列表和元組完全相同。

(4) 倒序輸出

  1. a[::-1]  # 把字符串倒序  
  2. b[::-1]  # 把列表倒序 
  3. c[::-1]  # 把元組倒序 

運行效果如下圖所示:

倒序輸出這個操作,字符串、列表和元組完全相同。

(5) 元素是否在里面

  1. if 'x' in a: 
  2.     print('字符 x 在字符串中!') 
  3.  
  4. if 3 in b: 
  5.     print('元素 3 在列表中!') 
  6.  
  7. if 3 in c: 
  8.     print('元素 3 在元組中!') 

判斷一個字符是否在字符串中,或者判斷一個元素是否在列表、元組中,操作完全相同。

(6) 查找索引

  1. a = 'hello' 
  2. index = a.index('e') 
  3. print('字符e 在字符串中的索引為:', index) 
  4.  
  5. b = ['kingname', 'pm', 'ui', 'spider'] 
  6. index = b.index('pm') 
  7. print('元素pm在列表中的索引為:', index) 
  8.  
  9. c = ('kingname', 'pm', 'ui', 'spider') 
  10. index = c.index('pm') 
  11. print('元素pm在元組中的索引為:', index) 

運行效果如下圖所示:

查詢子字符串在字符串中的索引,或者根據元素查詢其在列表、元組中的索引,操作完全相同。

(7) 統計出現次數

  1. a = 'helloworld' 
  2. num = a.count('l') 
  3. print('字符 l 在字符串中出現的次數為:', num) 
  4.  
  5. b = ['kingname', 'pm', 'ui', 'pm', 'spider'] 
  6. num = b.count('pm') 
  7. print('元素 pm 在列表中出現的次數為:', num) 
  8.  
  9. c = ('kingname', 'pm', 'ui', 'pm', 'spider') 
  10. num = c.count('pm') 
  11. print('元素pm 在元組中出現的次數為:', num) 

運行效果如下圖所示:

統計出現次數,這個操作對字符串、列表和元組完全相同。

(8) 拼接操作

  1. a = 'hello' 
  2. b = 'world' 
  3. print(a + b) 
  4.  
  5. a = [1, 2, 3] 
  6. b = [4, 5, 6] 
  7. print(a + b) 
  8.  
  9. a = (1, 2, 3) 
  10. b = (4, 5, 6) 
  11. print(a + b) 

運行效果如下圖所示:

加號拼接這個操作,字符串、列表和元組完全相同。

總結在“讀”這個操作上面,字符串、列表、元組是完全相同的,只要掌握了其中一個,另外兩個自動就知道怎么操作了。這就叫做類比。

先學習了相同的操作,再來分別學習每個數據結構各自獨特的操作,這樣才能做到事半功倍,舉一反三。

令人遺憾的是,目前市面上絕大部分的 Python 教程,都沒有做到這一點。

 

責任編輯:趙寧寧 來源: 未聞Code
相關推薦

2013-01-14 09:29:04

2024-07-26 10:42:30

2011-05-10 10:38:54

布線光纖

2011-04-06 12:29:42

2012-05-22 00:25:41

.NET

2023-12-05 09:14:54

2011-04-06 16:40:27

C++構造函數

2010-04-28 09:50:14

Oracle數據庫

2011-08-17 12:25:11

2012-12-10 09:57:00

路由器交換機

2013-07-24 09:47:52

語言語速環境語言

2011-03-22 14:59:36

2021-04-23 11:11:59

加密貨幣硬幣數字貨幣

2012-08-23 09:28:01

編程編程語言

2017-01-12 14:26:30

2020-04-16 11:19:55

深度學習神經網絡網絡層

2021-01-30 10:51:07

Python編程語言開發

2020-11-09 10:01:29

Python乘法位運算

2024-08-02 11:51:03

2015-08-06 12:50:47

技術人員博客
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久神马 | 亚洲成人精品 | 在线免费观看黄网 | 欧美国产中文字幕 | 狠狠骚| 亚洲a人| 美人の美乳で授乳プレイ | 一区二区国产精品 | 在线观看亚洲一区二区 | 殴美黄色录像 | 91麻豆精品国产91久久久久久久久 | 日韩高清国产一区在线 | 97视频人人澡人人爽 | 无人区国产成人久久三区 | 亚洲欧美中文日韩在线v日本 | 男女视频在线观看 | 成人精品一区二区 | 天天草天天射 | 亚洲另类视频 | 欧美性tv| 欧美成人a∨高清免费观看 老司机午夜性大片 | 国产视频一区二区 | 国产高清视频一区二区 | 色婷婷综合久久久中字幕精品久久 | 黄网站免费在线 | 天天人人精品 | 天天色天天色 | 天天想天天干 | www久久99 | 精品欧美一区免费观看α√ | 91久久| 99爱在线观看 | 男人天堂99 | 久久久久久久久国产精品 | 亚洲手机视频在线 | a免费观看 | 国产久视频 | 国产成人一区二区三区精 | 国产精品免费视频一区 | 色婷婷久久久久swag精品 | 中文字幕精品视频 |