Python 入門 —— Python中的非數字型變量:列表,元組,字典,字符串。for循環

Python中的列表,元組,字典,字符串,for循環

1. 列表

  • 列表
    引入一個新的概念:數據結構
    數據結構是通過某種方式組織在一起的數據元素的集合,這些數據元素可以是數字或字符,甚至可以是其他數據結構,在 python 中,最基本的數據結構是序列,序列中的每個元素匾被分配一個序號–即元素的位置,也稱爲索引,第一個索引是0,第二個則是1,以此類推
  • 列表是什麼
    列表由一系列特定順序排列的元素組成,你可以創建包含字母表中所有字母,數字或所有家庭成員姓名的列表;也可>以將任何東西加入列表中,其中的元素之間可以沒有任何關係
    列表類似於C語言中的數組

1.1 列表的創建

進行簡單的列表創建

 test_list = [1,2,3,4,'test']
 print test_list

執行如下:
這裏寫圖片描述

1.2 列表信息的增刪改查

1.2.1 index 查找列表中元素的下標

 test_list = [1,2,3,4,'test']
 print test_list
 print test_list.index('test')   # 查看列表中 test 元素的下標

執行如下:
這裏寫圖片描述

1.2.2 修改元素列表信息:

 nba = ['Lakers','Heat','Sun','Rocket','Cave','Bulls'] 
 # 定義名爲nba的列表及其列表內容。
 print nba
 # 在控制檯顯示列表內容
 nba[0] = 'cba'
 # 修改列表的第 0 個元素爲'cba'
 print nba

執行如下:
這裏寫圖片描述
顯示結果如下:

1.2.3 添加列表元素

  • append : 在列表末尾添加
    示例:
list_test = []   # 定義一個空列表
print list_test  # 在控制檯顯示列表
list_test.append('hello')  # 在列表最後添加字符串
print list_test  # 在控制檯顯示列表
list_test.append('bye')    # 在列表最後添加字符串
list_test.append('see you later')  # 在列表最後添加字符串
print list_test  # 在控制檯顯示列表內容

執行如下:
這裏寫圖片描述

  • insert :在指定位置插入指定元素
    示例:
 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls']
 # 定義名爲 nba 的列表及其列表內容。
 print nba
 nba.insert(2,'Bucks')
 # 爲列表 nba 中的索引號爲 2 的位置添加元素'Bucks'
 print nba

執行如下:
這裏寫圖片描述

  • extend :把另外一個列表的完整內容追加到當前列表的末尾
 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls']
 # 定義名爲nba的列表及其列表內容。
 print nba
 nba2 = ['Lakers','Celtics','Nets','Pakers']
 print nba2
 nba.extend(nba2)
 print nba

執行如下:
這裏寫圖片描述

1.2.4 刪除列表元素

  • del :關鍵字,本質上是,將一個變量從內存中刪除,結果不可逆
  • pop() :默認將列表最後一個元素彈出
  • remove 指定移除的值,默認刪除列表中出現的第一個指定元素(此元素在列表中不唯一)
    若不瞭解指定關鍵字如何使用,可將鼠標放置與關鍵字上,點擊cttl + q 可查看關鍵字的用法

del 進行刪除
直接刪除列表,結果不可逆
這裏寫圖片描述
pop 進行移除

 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls']
 # 定義名爲nba的列表及其列表內容。
 print nba  
 nba.pop()    # 默認彈出列表中最後一個元素
 print nba
 nba.pop(0)   # 指定彈出列表中索引爲 0 的元素
 print nba

執行如下:
這裏寫圖片描述

1.2.5 列表的統計

  • len 進行列表長度的度量
 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls']
 # 定義名爲nba的列表及其列表內容。
 print nba
 print len(nba)    # 進行列表長度計算

執行如下:
這裏寫圖片描述

  • count :可以統計列表中某一個元素出現的次數
 nba = ['Lakers', 'Heat', 'Sun', 'Rocket', 'Cave', 'Bulls','Lakers']
 # 定義名爲nba的列表及其列表內容。
 print nba
 print nba.count('Lakers')    # 進行指定元素出現次數的測量

執行如下:
這裏寫圖片描述

  • sort 對列表進行永久排序 ,默認以ascill 碼的順序進行升序排序
    示例:
 commend = ['ls','echo','rm','cat','fdisk','grep','sed','ps','top','at','blkid','date']
 print commend
 commend.sort()     ## 對 commmend 列表進行順序排序
 print commend      ## 在控制檯顯示列表
 # .sort(reverse=True)    進行倒序排序

執行如下:
這裏寫圖片描述
示例:

 commend = ['ls','echo','rm','cat','fdisk','grep','sed','ps','top','at','blkid','date']
 print commend
 commend.sort(reverse=True)     ## 對 commmend 列表進行逆序排序
 print commend  

執行如下:
這裏寫圖片描述

  • sorted(列表) 臨時對列表進行排序
    示例:
 commend = ['ls', 'echo', 'rm', 'cat', 'fdisk', 'grep', 'sed', 'ps', 'top', 'at', 'blkid', 'date']
 print commend
 print sorted(commend)    # 臨時進行排序
 print commend

執行如下:
這裏寫圖片描述

  • .reverse() 將原列表內容反過來
    示例:
 commend = ['ls','echo','rm','cat','fdisk','grep','sed','ps','top','at','blkid','date']
 print commend
 commend.reverse()   ##將原列表內容反過來 
 print commend

執行如下:
這裏寫圖片描述

2 for 語句

取出列表中的元素,再對其進行操作

for 的簡單示例:

 study = ['math','Chinese','sport']    ## 定義列表
 for test in study:                    ## 取出 study 的內容,放在test 中
     print 'Today we study %s' % test  ## 一個一個的顯示
 print 'Fucking study!!!'

執行如下:
這裏寫圖片描述

range 生成純數字列表

 range(1,6)
 生成一個元素內容爲1-5的列表
 若是單純的生成數字列表,可運用 range 進行生成
 例如: 生成一個步長爲2,元素爲2-10的純數字列表
 num = range (2,11,2)

執行如下:
這裏寫圖片描述
將 range 與 for 語句進行連用
示例如下:

 進行 1-10 的冪的顯示
 squares = []
 for list_mi in range(1,11):
     square = list_mi ** 2
     squares.append(square)

 print squares

這裏寫圖片描述

3 元組 tuple

  • Tuple(元組)與列表相似,不同之處在於元組的元素不能修改
    元組表示多個元素組成的序列
    元組在python開發中,有特定的應用場景用於存儲一串信息,數據之間使用 , 分隔
    元組用 () 定義
    列表中通常保存相同類型的數據,而元組中通常保存不同類型的數據
    不可對元組內容進行增添刪除

3.1 定義只包含一個數據的元組

示例:

 single_tuples=(1,)
 print type(single_tuples) 

執行如下:
這裏寫圖片描述

3.2 元組的取值,取索引,統計計數以及統計與元素個數

 Kobe_tuple = ('Kobe Bryant',40,1.98,5,2)  ## 定義元組
 print Kobe_tuple.count('Kobe Bryant')     ## 統計元組中 Kobe Bryant 出現的次數
 print Kobe_tuple.index(5)                 ## 顯示元組中元素 5 的索引
 print Kobe_tuple[0]                       ## 顯示元組中索引爲 0 的元素
 print len(Kobe_tuple)                     ## 顯示元組中元素的個數

執行如下:
這裏寫圖片描述

若是想要對元組內容進行修改,則可以修改元組類型爲列表,然後對其進行修改修改完成後,再將其類型修改爲元組。
示例如下:

 Kobe_tuple = ('Kobe Bryant',40,1.98,5,2)   ## 定義元組
 print type(Kobe_tuple)     
 print Kobe_tuple
 Kobe_tuple = list(Kobe_tuple)   ## 將元組類新修改爲列表
 print type(Kobe_tuple)   
 print Kobe_tuple

 然後再對其進行修改,修改完成後在將其轉化爲元組

執行如下
這裏寫圖片描述

可通如下方式對元組內容進行調用:

 Kobe_tuple = ('Kobe Bryant',40,1.98,5,2)print '%s is %d years old,he is 
 %d tall and won %d times NBA champions and got %d times Final MVP' 
 % Kobe_tuple
 print '%s is %d years old,he is %.2f tall and won %d times NBA champions 
 and got %d times Final MVP' % Kobe_tuple

執行如下:
這裏寫圖片描述

4 字典

  • 字典的定義
    dictionary(字典)是除列表以外 python 中最靈活的數據類型
    字典同樣可以用來存儲多個數據,通常用於存儲描述一個物體的相關信息
  • 字典和列表的區別
    列表是有序的對象集和
    字典是無序的對象集和
  • 字典用 {} 定義
    字典使用鍵值對存儲數據,鍵值對之間使用 , 分隔
    鍵key是索引
    值value是數據
    鍵和值之間使用;分隔
    鍵必須是唯一的(因爲我們必須通過鍵來找到數據)
    值可以取任何數據類型,但鍵只能使用字符串,數字或元組
  • 字典是一個無序的數據集和,使用print函數輸出字典時,通常輸出的順序和定義的順序是不一致的

示例:定義簡單的字典:

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print information

執行如下:
這裏寫圖片描述

4.1 取值:

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print information['obj'] ## 顯示鍵名爲'obj'的值

執行如下:
這裏寫圖片描述

4.2 增加/修改

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print information
 information['age'] = 41     ## 修改鍵 'age' 的值爲 41
 print information
 information['sex'] = 'male' ## 添加鍵 'sex' 且值爲 'male'
 print information

執行如下:
這裏寫圖片描述

4.3 刪除

.pop(‘自定義索引’)

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print information
 information.pop('age')   ## 刪除 'age' 鍵及其值
 print information

執行如下:
這裏寫圖片描述

4.4 統計

4.4.1 統計鍵值對的數量

print len(字典名稱)

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':40,
                'obj':'NBA'}
 print len(information)  ## 顯示指定字典的鍵值對的個數

執行如下:
這裏寫圖片描述

4.4.2合併字典

字典1.upadte(字典2)
print 字典1
如果字典2中的鍵值對在字典1中存在,則會按照字典2的內容進行更行
若字典2中的鍵值對在字典2中不存在則會爲字典1添加對應的鍵值對

 information = {'name':'Kobe Bryant',  ## 定義字典1
                'height':'1.98',
                'age':41,
                'obj':'NBA'}
 print information

 test = {'age':40,                     ## 定義字典2
         'Champions':5,
         'Final MVP':2,
         'MVP':1}
 print test

 information.update(test)              ## 將字典1,2進行合併
 print information

執行如下:
這裏寫圖片描述

4.4.3 清空字典

操作: 字典.clear
示例:

 information = {'name':'Kobe Bryant',
                'height':'1.98',
                'age':41,
                'obj':'NBA'}
 print information
 information.clear()        ## 清空字典
 print information

執行如下:
這裏寫圖片描述

4.4.4 字典循環

 name_dict = {'Name':'Tom',
              'Phone':110,
              'QQ':123456}
 for k in name_dict:
     print k,name_dict[k]

執行如下:
這裏寫圖片描述
在列表中定義多個字典,再進行循環

 list_dict = [{'name':'Tom','age':18,'obj':'linux'}, 
              {'name':'Jarry','age':28,'obg':'java'}]
                         ## 創建列表,列表的元素爲>    字典

 for dict in list_dict:  ## 對列表進行循環顯示,然後對顯示出的字典再進行循環顯示
     print dict
     for mes in dict:
         print mes,dict[mes]

執行如下:
這裏寫圖片描述

5 字符串

5.1 統計字符串的長度

print len(字符串)

 str1 = "hello world"
 print len(str1)     # 統計字符串的長度

執行如下
這裏寫圖片描述

5.2 統計某一小字符串出現的次數

 str1 = "hello world"
 print str1.count('w') 

執行如下:
這裏寫圖片描述

5.3 某一個子字符串出現的位置

使用index(),進行子字符串查找時,如果字符串不存在,程序會報錯

 str1 = "hello world"
 print str1.index('o')

執行如下:
這裏寫圖片描述

5.4 字符串判斷

5.4.1 判斷字符串是否只包含數字

  • S.isdigit() -> bool
    如果S中的所有字符都是數字,且S中至少有一個字符,則返回True,否則爲False

示例:

 str1 = 'Hello world'
 print str1          
 print str1.isdigit()   ## 返回值爲false 

執行如下:
這裏寫圖片描述

5.4.2 判斷是否以指定的字符串開始

.startwith(”)
示例:

 str1 = 'Hello world'
 print str1
 print str1.startswith('H')  ## 判斷指定字符串是否以 ‘H’ 開頭

執行如下:
這裏寫圖片描述

5.4.3 判斷字符串是否以指定字符串結束

.endwith(”)
示例:

 str1 = 'Hello world'
 print str1
 print str1.endswith('world') ## 判斷字符串是否以 ‘world’ 結尾

執行如下:
這裏寫圖片描述

5.4.4 查找指定的字符串,返回的是字符串的索引

如果查找的字符串不存在,程序不會報錯,會返回-1
.find(”)
示例:

 str1 = 'Hello world'
 print str1
 print str1.find('r')    ## 查找‘r’ 字符串中 r 所在的索引

執行如下:
這裏寫圖片描述
控制檯返回值爲: 8

5.4.5 替換字符串

.replace
示例:

 str1 = 'Hello world'
 print str1
 print str1.replace('world', 'linux')
                         ## 將字符串中的‘world’,替換爲‘linux’

執行如下:
這裏寫圖片描述

5.4.6 判斷字符串是否爲空(如空格換行符號,製表符等)

S.isspace() -> bool

如果S中的所有字符都是空格,且S中至少有一個字符,則返回True,否則爲False。
示例:

 str1 = 'Hello world'
 print str1
 print str1.isspace()
 返回值爲 false ,字符串中有空格
 str2 = '\t'
 print str2.isspace()
 返回值爲 true 字符串爲空

執行如下:
這裏寫圖片描述

6 切片

對字符串而言

6.1.切取指定索引的字符

 str1 = 'start today' 
 print str1[1:9]       # 從索引爲 1 切到索引爲 8

執行如下:
這裏寫圖片描述

6.2 切取指定索引到字符串末尾的字符

 str1 = 'start today'
 print str1[2:]         # 從索引爲 1 切到索最後

執行如下:
這裏寫圖片描述

6.3 切取開頭到指定索引的字符

 str1 = 'start today'
 print str1[:7]         # 從字符串開頭切到索引爲 7

執行如下:
這裏寫圖片描述

6.4 切取整個完整字符串

 str1 = 'start today'
 print str1[:]        # 從頭到尾截取字符串

執行如下:
這裏寫圖片描述

6.5 切取指定位置,指定補償的字符內容

 str1 = 'start today'
 print str1[1:5:2]      # 截取索引 1 - 5 ,步長爲 2

執行如下:
這裏寫圖片描述

6.6 逆序切取字符串中的字符

 str1 = 'start today'
 print str1[-1]       # 逆序切取索引爲 -1 

執行如下:
這裏寫圖片描述

 str1 = 'start today'
 print str1[2:-1]     # 切取索引 2 - -1

執行如下:
這裏寫圖片描述

6.7 逆序顯示字符串中的字符

 str1 = 'start today'
 print str1[::-1]      # 逆序切取字符串

執行如下:
這裏寫圖片描述

6.8 切片在列表中同樣適用

 test_list = range(0,11)  ## 定義一個數字列表
 print test_list
 print test_list[1:10]    ## 顯示索引 1-10
 print test_list[:]       ## 顯示整個列表
 print test_list[:8]      ## 顯示開頭到索引 8
 print test_list[::-1]    ## 倒序列表
 print test_list[:-2:3]   ## 以步長爲 3 顯示開頭到索引爲 -2 的列表內容

執行如下:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章