目錄
- 一、Number 數(shù)字
- 二、String 字符串
- 三、List 列表
- 四、Tuple 元組
- 五、Sets集合
- 六、Dictionary 字典 (非常重要)
一、Number 數(shù)字
1.內(nèi)置函數(shù):需要導(dǎo)入math
2.隨機(jī)數(shù)函數(shù):需要導(dǎo)入random 模塊
3.三角函數(shù):需要導(dǎo)入math模塊
4.數(shù)學(xué)常量:需要導(dǎo)入math模塊
#1.數(shù)據(jù)函數(shù)的使用
#==========================
#內(nèi)置函數(shù)
print(abs(-10)) #10絕對(duì)值
print(round(4.56789,2)) #4.57 使用四舍五入的方式保留小數(shù)點(diǎn)后兩位
a = [10,30,20,80,50]
print(max(a)) #80 最大值
print(min(a)) #10 最小值
#需要導(dǎo)入math
import math
print(math.ceil(2.3)) #3 進(jìn)一取整
print(math.floor(2.99999)) #2 舍去取整
10
4.57
80
10
3
#2.隨機(jī)數(shù)函數(shù)
#=============================
#需要導(dǎo)入random 模塊
import random
print(random.random()) #隨機(jī)一個(gè)0~1的小數(shù)
print(random.choice(['aaa','bbb','cccc'])) #隨機(jī)獲取一個(gè)值
#指定范圍的隨機(jī)
print(random.randrange(10)) #隨機(jī)0~9的一個(gè)值
print(random.randrange(4,10)) #隨機(jī)4~9的一個(gè)值
print(random.randrange(0,10,2)) #隨機(jī)4~9的一個(gè)值
b = [1,2,3,4,5,6]
random.shuffle(b) #將容器內(nèi)的值順序打亂
print(b)
0.6045140519996484
cccc
3
4
0
[1, 3, 4, 6, 5, 2]
#3.三角函數(shù)
#需要導(dǎo)入math模塊
print(math.sin(90))
print(math.cos(0))
0.8939966636005579
1.0
#4.數(shù)學(xué)常量
#需要導(dǎo)入math模塊
print(math.pi) #圓周率
print(math.e) #自然常數(shù)
3.141592653589793
2.718281828459045
二、String 字符串
# 1.字符流(str 字符串) => 字節(jié)流(bytes 字符串、二進(jìn)制)之間的轉(zhuǎn)換
#字符流轉(zhuǎn)換為字節(jié)流
str = "zhangsan"
b1 = str.encode(encoding="utf-8")
print(b1)
b2 = bytes(str,encoding="utf+8") #結(jié)果中,只要是b開(kāi)頭的都叫字節(jié)流
print(b2)
#字節(jié)流轉(zhuǎn)成字符流
print(b1.decode(encoding="utf-8")) #由字節(jié)轉(zhuǎn)成字符
print(bytes.decode(b2,encoding="utf-8"))
b'zhangsan'
b'zhangsan'
zhangsan
zhangsan
#2.轉(zhuǎn)義符的使用
print("ab\\cde\n\rfg\thijk\"lmnopq")
#3. 字符串的格式化:format %
print("a={};b={}".format(10,20)) #用括號(hào)作占位符。
print("a={1};b={0}".format(10,20)) # 指定索引號(hào)代表第幾參數(shù)
print("a={0};b={0}".format(10))
print("name={name:10};age={age}".format(age=20,name="lisi")) #name:10 表示占10個(gè)寬度。
print("name={name:10};age={age}".format(age=20,name="lisi")) #小于號(hào):靠左邊;大于號(hào):靠右邊。
print("{:.2f}".format(5.6789)) # .2f表示保留小數(shù)后兩位
name="zhangsan"
print(f"name={name}")
#4.字符串的內(nèi)建函數(shù)
#==============================
name = "ZhangSan"
print(name,name.upper(),name.lower()) #字符串的大小寫(xiě)
print("字符串長(zhǎng)度:",len(name))
print("統(tǒng)計(jì)字符串中an出現(xiàn)的次數(shù):",name.count('an'))
print("字符串替換: ",name.replace("San","wuji"))
print("10:20:30:40".split(":")) #字符串拆分(列表)
# 字符串查找
str = "zhangsanfang"
print(str.find("an")) #從頭開(kāi)始查找 ,找不到返回-1
print(str.rfind("an")) #從末尾開(kāi)始查找 ,找不到返回-1
print(str.index("an")) #從頭查找,找不到報(bào)錯(cuò)
print(" aaa ".strip()) #去除字符串兩側(cè)多余空格(或指定字符)
print(" aaa ".lstrip()) #去除字符串左側(cè)多余空格(或指定字符)
print(" aaa ".rstrip()) #去除字符串右側(cè)多余空格(或指定字符)
三、List 列表
# 1. 列表的定義
list1 = [] #定義一個(gè)空列表
list2 = list() #定義一個(gè)空列表
list3 = ['python','java','php',10,20] #定義列表
list4 = [1,2,3,4,5,6,7] #定義列表
print(list4)
list4[3] = 400 #修改
print(list4)
del list4[5] #刪除
print(list4)
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 400, 5, 6, 7]
[1, 2, 3, 400, 5, 7]
10 20 30 40 50
10 20 30 40 50
# 2.列表的遍歷
a = [10,20,30,40,50]
#使用for ... in 遍歷
for i in a:
print(i,end= " ")
print()
#使用while循環(huán)遍歷
i = 0
while i len(a):
print(a[i],end= " ")
i += 1
print()
10 20 30 40 50
10 20 30 40 50
#遍歷等長(zhǎng)的二階列表
b = [["aa","AAA"],["bb","BBB"],["cc","CCC"]]
for v1,v2 in b:
print(v1,v2)
#遍歷不規(guī)則二階列表
c = [[10,20],[30,40,50],[60,70],[80,90,100,110,120]]
for v in c:
for i in v:
print(i,end=" ")
print()
# 4. 列表的方法 (非常重要)
a = ['zhangsan','lisi']
a.append('wangwu') #在列表的尾部新增值
a.extend(['zhaoliu','xiaolin']) #在列表尾部添加多個(gè)值
a.insert(3,"qqq") #在指定位置插入一個(gè)值
print(a)
b = [1,2,3,3,2,1,4,5]
print(b.count(1)) #統(tǒng)計(jì)1在列表中出現(xiàn)的次數(shù)
print(b.index(5)) #5出現(xiàn)的位置
print(a.pop()) #最后一個(gè)值
a.remove("zhangsan") #刪除指定值
print(a)
a.reverse() #顛倒順序
print(a)
b.sort() #升序
print(b)
b.clear() #清空
print(b)
a = [10,20,30]
b = a
c = a.copy() #淺復(fù)制:復(fù)制一個(gè)列表
print(id(a),id(b),id(c))
a[1] = 200
print(a)
print(b)
print(c)
四、Tuple 元組
#========================================
#1. 定義元組的方式
tup0 = () #定義一個(gè)空元組 或者變量 = tuple() (沒(méi)有意義,因?yàn)樵M不能被修改)
tup1 = ('Google','Python',1997,2000)
tup2 = (1,2,3,4,5)
tup3 = "a","b","c","d"
#輸出元組:
print("tup1[0]: ",tup1[0])
print("tup2[1:5]:",tup2[1:5])
#注意下面這種定義下不加逗號(hào),類型為整型
tup4 = (50)
print(type(tup4))
#以下修改元組元素操作是非法的。
#tup1[0] = 100
#元組中的元素值是不允許刪除的,但可使用del語(yǔ)句來(lái)刪除整個(gè)元組
del tup0;
tup1[0]: Google
tup2[1:5]: (2, 3, 4, 5)
class ‘int'>
#2. 元組的遍歷
#===========================
a = (10,20,30,40,50)
#使用for ... in 遍歷
for i in a:
print(i)
# 使用while遍歷
i = 0
while ilen(a):
print(a[i])
i += 1
10
20
30
40
50
10
20
30
40
50
10 20
30 40
50 60
#遍歷等長(zhǎng)二級(jí)元組
b = ((10,20),(30,40),(50,60))
for v1,v2 in b:
print(v1,v2)
#遍歷不等長(zhǎng)二級(jí)元組
b = ((10,20),(30,40,50,60),(70,80,90))
for v in b:
for i in v:
print(i,end=" ")
print()
10 20
30 40
50 60
10 20
30 40 50 60
70 80 90
# 4. 元組的操作符:
#====================================
a = (1,2,3)
b = (4,5,6,7)
print(len(a))
print(a+b)
print(a*2)
print(6 in b) #判斷一個(gè)值是否在一個(gè)元組中
#獲取
print(b[2])
print(b[-2])
print(b[1:])
print(b[1:3])
3
(1, 2, 3, 4, 5, 6, 7)
(1, 2, 3, 1, 2, 3)
True
6
6
(5, 6, 7)
(5, 6)
五、Sets集合
# 1.集合的基礎(chǔ)操作
#====================================
#定義集合的方式:
#集合的定義
set1 = set() #定義一個(gè)空的集合
set2 = {1,2,3}
#增加一個(gè)元素
set1.add(5)
#增加多個(gè):參數(shù)可以是列表或元組
set1.update([5,6,7,8])
#刪除某個(gè)值(參數(shù)為元素值,沒(méi)有會(huì)報(bào)錯(cuò))
set2.remove(1)
set2.discard(50) #刪除不存在的值不會(huì)報(bào)錯(cuò)
#查:無(wú)法通過(guò)下標(biāo)索引
#改:不可變類型無(wú)法修改元素
#清空集合
set2.clear()
a = {10,20,30}
b = {20,50}
print(a - b) #a和b的差集
print(a | b) #a和b的并集
print(a b) #a和b的交集
print(a ^ b) #a和b中不同時(shí)存在的元素
# 2. 集合的遍歷
#======================================
a = {10,20,30,40,50}
#使用for ... in 遍歷
for i in a:
print(i)
#注:沒(méi)有while遍歷,因?yàn)闆](méi)有排序,
#遍歷等長(zhǎng)二級(jí)集合
b = {(10,20),{30,40},(50,60)}
for v1,v2 in b:
print(v1,v2)
# 4. 集合的操作符
a = {1,2,3}
print(len(a)) #3 集合長(zhǎng)度
print(6 in a) #判斷一個(gè)值是否在一個(gè)集合中
3
False
六、Dictionary 字典 (非常重要)
#字典是另一種可變?nèi)萜髂P?,且可存?chǔ)任意類型對(duì)象
# 1. 字典的基礎(chǔ)操作:
#==============================
#定義字典的方式:
#字典的定義
d0 = {} #或dict() #定義一個(gè)空的字典
d1 = {'name':'python','age':17,'class':'first'}
#輸出子字典中的信息
print("d1['name']: ",d1['name']) #python
print("d1['age']: ",d1['age']) #17
#輸出錯(cuò)誤信息:KeyError
# print("d1['alice']:",d1['alice'])
#修改和添加內(nèi)容
d1['age'] = 18; #key存在則更新age
d1['school'] = '云課堂' # 不存在則添加信息
print(d1)
#刪除信息
del d1['name'] #刪除鍵'name'一個(gè)元素值
d1.clear() #清空字典
del d1
#2. 字典的遍歷
#===================================
d1 = {'name':'python','age':17,'class':'first'}
#使用for...in 遍歷(默認(rèn)遍歷鍵)
for k in d1:
print(k,"=>",d1[k])
#遍歷鍵和值(使用items())
for k,v in d1.items():
print(k,"===>",v)
# 3. 推倒式的使用
#================================
a = [1,2,3,4,5,6,7,8]
#遍歷列表a中的值i ,并判斷是否是偶數(shù),并形成新的列表保留下來(lái)
b = [i for i in a if i%2==0] #for i in a ,循環(huán)a列表,拿這個(gè)列表的值; if i%2==0 這個(gè)值若能被2整除,拿出來(lái); 前面的i表示新生成一個(gè)列表
print(b)
[2, 4, 6, 8]
stu = {'name':'zhangsan','age':20,'sex':'man'}
#將當(dāng)前stu字典遍歷形成一個(gè)新的字典,去掉了age
s1 = {k:v for k,v in stu.items()} #for k ,v in stu.items()遍歷字典;k:v形成新的字典;if k != "age" 作判斷
s2 = {k:v for k,v in stu.items() if k !="age"} #for k ,v in stu.items()遍歷字典;k:v形成新的字典;if k != "age" 作判斷
print(s1)
print(s2)
# 字典的操作方法
#=================================
stu = {'name':'zhangsan','age':20,'sex':'man'}
print(stu.items()) #以列表方式返回當(dāng)前字典的鍵值對(duì)
print(stu.keys())
print(stu.values())
print(stu.get("name")) #
print(stu.get("iphone",None)) #獲取指定key的值,若無(wú)返回None
print(stu.pop('age')) #彈出指定key的值,表示字典中沒(méi)有了此內(nèi)容
print(stu)
print(stu.popitem()) #隨機(jī)彈出一對(duì)信息(移除了),默認(rèn)最后一個(gè)。
print(stu)
stu.clear()
#容器的拷貝(淺拷貝和深度拷貝)
#淺拷貝
a = {"name":"zhanngsan","data":[10,20,30]}
b = a.copy() #淺拷貝
a["name"] = 'lisi'
a["data"][1] = 200
print(a)
print(b)
#導(dǎo)入一個(gè)深度拷貝模塊
import copy
a = {"name":"zhanngsan","data":[10,20,30]}
b = copy.deepcopy(a) #深度拷貝
a["name"] = 'lisi'
a["data"][1] = 200
print(a)
print(b)
到此這篇關(guān)于淺談python數(shù)據(jù)類型及其操作的文章就介紹到這了,更多相關(guān)python數(shù)據(jù)類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python-pandas創(chuàng)建Series數(shù)據(jù)類型的操作
- Python 分布式緩存之Reids數(shù)據(jù)類型操作詳解
- Python常見(jiàn)數(shù)據(jù)類型轉(zhuǎn)換操作示例
- Python數(shù)據(jù)類型之Number數(shù)字操作實(shí)例詳解
- python內(nèi)置數(shù)據(jù)類型之列表操作
- Python數(shù)據(jù)類型中的“冒號(hào)“[::]——分片與步長(zhǎng)操作示例
- python數(shù)據(jù)類型_字符串常用操作(詳解)
- python數(shù)據(jù)類型_元組、字典常用操作方法(介紹)
- 淺談Python數(shù)據(jù)類型判斷及列表腳本操作