程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python——字符串、列表、元組、字典、公用方法(day03)

編輯:Python

目錄

一、字符串及常用方法

二、列表及常用方法

三、元組

四、字典

五、公用方法

序列:在python當中 序列就是一組按照順序排列的值【數據集合】
在python中 存在三種內置的序列類型:
字符串、列表、元組
優點:可以支持索引和切片的操作
特征:第一個正索引為0,指向的是左端,第一個索引為負數的時候,指向的是右端

切片:【高級特性】可以根據下表來獲取序列對象的任意[部分]數據
語法結構:[start:end:step] step默認1

list:python當中非常重要的數據結構,是一種有序的數據集合
特點:
1:支持增刪改查
2:列表中的數據是可以變化的【數據項可以變化,內存地址不會改變】
3:用[] 來表示列表類型,數據項之間用逗號來分割,注意:數據項可以是任何類型的數據
4:支持索引和切片來進行操作

元組:是一種不可變的序列,在創建之後不能做任何的修改
1:不可變
2:用()創建元組類型,數據項用逗號來分割
3:可以是任何的類型
4:當元組中只有一個元素時,要加上逗號,不然後解釋器會當做其他類型來處理
5:同樣可是支持切片操作

字典:也是python中重要的數據類型,字典是有 鍵值對 組成的集合,通常使用 鍵來訪問數據,效率非常高,和list一樣 支持對數據的添加、修改、刪除
特點:
1:不是序列類型 沒有下標的概念,是一個無序的 鍵值集合,是內置的高級數據類型
2:用{} 來表示字典對象,每個鍵值對用逗號分隔
3:鍵 必須是不可變的類型【元組、字符串】 值可以是任意的類型
4: 每個鍵必定是惟一的,如果存在重復的鍵,後者會覆蓋前者

一、字符串及常用方法

test = 'python'
# # print(type(test))
# print('第一個字符:%s' %test[0])
# print('第二個字符:%s' %test[1])
# for item in test:
# print(item, end=' ')
#
# print()
# for i in range(len(test)):
# print('第%d個字符:%s' %(i, test[i]), end=' ')
name = 'peper'
# print('首字母轉換大寫:%s' %name.capitalize())
a = " hello "
# b = a.strip() #去除空格
# print(b)
# print(a.lstrip()) # 刪除坐邊的空格
# print(a.rstrip()) # 刪除右邊的
#
# print('a的內存地址:%d' %id(a)) # id可以查看一個對象的內存地址
# b = a # 在此只是把a對象的內存地址賦給了b
# print('b的內存地址:%d' %id(b))
datastr = 'I Love Python'
# print(datastr.find('P')) # 返回對應的下標值
# print(datastr.find('m')) # 未找到返回-1
#
# # ------------------- index函數 --------------------
# print(datastr.index('P')) # 檢測字符串中是否包含子字符串,返回下標,沒有則會報錯
#
# print(datastr.startswith("I")) # 判斷是否以 xx 開頭
# print(datastr.startswith("o"))
# print(datastr.startswith("m"))
#
# print(datastr.endswith("I")) # 判斷是否以 xx 結尾
# print(datastr.endswith("o"))
# print(datastr.endswith("m"))
# print(datastr.lower()) # 都變成小寫
# print(datastr.upper()) # 都變成大寫
strmsg = 'hello world'
# slice [start:end:step] 左閉右開 start<=value<end 范圍
print(strmsg) # 輸出完整的數據
print(strmsg[0])
print(strmsg[2:5]) # 2-5下標之間的數據
print(strmsg[2:]) # 第三個字符到最後
print(strmsg[0:3]) # 1-3 strmsg[0:3] = strmsg[:3]
print(strmsg[:3])
print(strmsg[::-1]) # 倒序輸出,負號表示方向,從右向左遍歷

二、列表及常用方法

# li=[] #空列表
# li=[1,2,3,"你好"]
# print(len(li)) #len函數可以獲取到列表對象中的數據個數
# strA='我喜歡python'
# print(len(strA))
# print(type(li))
# 查找
listA=['abcd',785,12.23,'qiuzhi',True]
# print(listA) #輸出完整的列表
# print(listA[0]) #輸出第一個元素
# print(listA[1:3]) #從第二個開始到第三個元素
# print(listA[2:]) #從第三個元素開始到最後所有的元素
# print(listA[::-1]) #負數從右像左開始輸出
# print(listA*3) #輸出多次列表中的數據【復制】
# print('--------------增加-----------------------')
# print('追加之前',listA)
# listA.append(['fff','ddd']) #追加操作
# listA.append(8888)
# print('追加之後',listA)
# listA.insert(1,'這是我剛插入的數據') #插入操作 需要執行一個位置插入
# print(listA)
# rsData=list(range(10)) #強制轉換為list對象
# print(type(rsData))
# listA.extend(rsData) #拓展 等於批量添加
# listA.extend([11,22,33,44])
# print(listA)
# print('-----------------修改------------------------')
# print('修改之前',listA)
# listA[0]=333.6
# print('修改之後',listA)
listB=list(range(10,50))
print('------------刪除list數據項------------------')
print(listB)
# del listB[0] #刪除列表中第一個元素
# del listB[1:3] #批量刪除多項數據 slice
# listB.remove(20) #移除指定的元素 參數是具體的數據值
listB.pop(1) #移除制定的項 參數是索引值
print(listB)
print(listB.index(19,20,25)) #返回的是一個索引下標
# li=[] #空列表
# li=[1,2,3,"你好"]
# print(len(li)) #len函數可以獲取到列表對象中的數據個數
# strA='我喜歡python'
# print(len(strA))
# print(type(li))
# 查找
listA=['abcd',785,12.23,'qiuzhi',True]
# print(listA) #輸出完整的列表
# print(listA[0]) #輸出第一個元素
# print(listA[1:3]) #從第二個開始到第三個元素
# print(listA[2:]) #從第三個元素開始到最後所有的元素
# print(listA[::-1]) #負數從右像左開始輸出
# print(listA*3) #輸出多次列表中的數據【復制】
# print('--------------增加-----------------------')
# print('追加之前',listA)
# listA.append(['fff','ddd']) #追加操作
# listA.append(8888)
# print('追加之後',listA)
# listA.insert(1,'這是我剛插入的數據') #插入操作 需要執行一個位置插入
# print(listA)
# rsData=list(range(10)) #強制轉換為list對象
# print(type(rsData))
# listA.extend(rsData) #拓展 等於批量添加
# listA.extend([11,22,33,44])
# print(listA)
# print('-----------------修改------------------------')
# print('修改之前',listA)
# listA[0]=333.6
# print('修改之後',listA)
listB=list(range(10,50))
print('------------刪除list數據項------------------')
print(listB)
# del listB[0] #刪除列表中第一個元素
# del listB[1:3] #批量刪除多項數據 slice
# listB.remove(20) #移除指定的元素 參數是具體的數據值
listB.pop(1) #移除制定的項 參數是索引值
print(listB)
print(listB.index(19,20,25)) #返回的是一個索引下標

三、元組

# 元組的創建 不能進行修改
tupleA=() #空元組
# print(id(tupleA))
tupleA=('abcd',89,9.12,'peter',[11,22,33])
# print(id(tupleA))
# print(type(tupleA))
# print(tupleA)
# 元組的查詢
# for item in tupleA:
# # print(item,end=' ')
# print(tupleA[2:4])
# print(tupleA[::-1])
# print(tupleA[::-2]) #表示反轉字符串 每隔兩個去一次
# # print(tupleA[::-3]) #表示反轉字符串 每隔三個去一次
# # print(tupleA[-2:-1:]) #倒著取下標 為-2 到 -1 區間的
# # print(tupleA[-4:-2:]) #倒著取下標 為-2 到 -1 區間的
# tupleA[0]='PythonHello' #錯誤的
# tupleA[4][0]=285202 #可以對元組中的列表類型的數據進行修改
# print(tupleA)
# print(type(tupleA[4]))
tupleB=('1',) # 當元組中只有一個數據項的時候,必須要在第一個數據項後面加上 逗號
# print(type(tupleB))
tupleC=(1,2,3,4,3,4,4,1) #tuple(range(10))
print(tupleC.count(4)) #可以統計元素出現的次數

四、字典

# 如何創建字典
dictA={"pro":'藝術','shcool':'北京電影學院'} #空字典
# 添加字典數據
dictA['name']='李易峰' #key:value
dictA['age']='30'
dictA['pos']='歌手'
#結束添加
# print(dictA) #輸出完整的字典
# print(len(dictA)) #數據項長度
# print(type(dictA))
# print(dictA['name']) #通過鍵獲取對應的值
# dictA['name']='謝霆鋒' #修改鍵對應的值
dictA['shcool']='香港大學'
# dictA.update({'height':1.80}) #可以添加或者更新
# print(dictA)
# 獲取所有的鍵
# print(dictA.keys())
# 獲取所有的值
# print(dictA.values())
# 獲取所有的鍵和值
# print(dictA.items())
# for key,value in dictA.items():
# print('%s==%s'%(key,value))
# 刪除操作
# del dictA['name'] 通過指定鍵進行刪除
# dictA.pop('age') 通過指定鍵進行刪除
print(dictA)
# 如何排序 按照key排序
# print(sorted(dictA.items(),key=lambda d:d[0]))
# 按照value排序
# print(sorted(dictA.items(),key=lambda d:d[1]))
# 字典拷貝
import copy
# dictB=copy.copy(dictA) #淺拷貝
dictC=copy.deepcopy(dictA) #深拷貝
print(id(dictC))
print(id(dictA))
# dictB['name']='peter'
dictC['name']='劉德華'
print(dictC)
print(dictA)

五、公用方法

# 共有方法 + * in
# 字符串合並
strA='人生苦短'
strB='我用Python'
# list 合並
listA=list(range(10))
listB=list(range(11,20))
print(listA+listB)
# print(strA+strB)
# 復制 *
# print(strA*3)
# print(listA*3)
# in 對象是否存在 結果是一個bool值
print('我' in strA) #False
print(9 in listA) #False
dictA={"name":"peter"}
print("name" in dictA)


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved