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 的列表內容
執行如下: