主頁 > 後端開發 > Python中串列、元組、字典、集合與字串,相關函式,持續更新中……

Python中串列、元組、字典、集合與字串,相關函式,持續更新中……

2020-10-17 00:35:12 後端開發

本篇博客為博主第一次學 Python 所做的筆記(希望讀者能夠少點浮躁,認真閱讀,平心靜氣學習!)

補充:

  • 串列、元組和字串共同屬性:
    • 屬于有序序列,其中的元素有嚴格的先后順序
    • 都支持雙向索引,索引范圍 [ -L, L-1 ] ,L -- 表示串列、元組和字串的長度(分正向索引和反向索引),
      • 正向索引:0 表示第 1 個元素,1 表示第 2 個元素,2 表示第 3 個元素...
      • 反向索引:-1 表示最后 1 個元素,-2 表示倒數第 2 個元素,-3 表示倒數第 3 個元素...

一、串列(關于串列的所有內容):

放在一對方括號中,相鄰元素之間使用逗號分隔,

  • 同一個串列元素的資料型別可以各不相同,
  • 串列包含:
    1. 整數浮點數復數字串 等 基本型別元素,
    2. 串列元組字典集合函式其他任意物件

創建串列:

  • 使用方括號直接創建
  • list() 函式把元組、range 物件、字串、字典、集合,以及 map 物件、zip 物件、enumerate 物件或其他類似物件 轉換 為串列,
  • 內置函式( sorted() )、標準庫函式( random.sample() )或擴展函式( jieba.lcut() )也會回傳串列

函式:

1. 訪問元素:

  • 用戶可以使用整數作為下標來隨機訪問其中任意位置上的元素
    data = https://www.cnblogs.com/jombarry/archive/2020/10/16/list(range())
    # data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    print(data[1])
    # 結果 1
    print(data[-1])
    # 結果 9
    ……
    
  • 如果指定的下標不在有效范圍內,代碼會拋出例外提示下表越界

2. 其他常用方法:

lst - 表示串列物件

函式 解釋
lst.append(x) 將 x 追加至串列 lst 的尾部,不影響串列中已有元素的位置,也不影響串列在記憶體中的起始地址
lst.insert(index, x) 在串列 lst 的 index 位置處插入 x,該位置之后的所有元素自動向后移動,索引加 1
extend(L) 將串列 L 中所有元素追加至串列 lst 的尾部,不影響 lst 串列中已有元素的位置,也不影響 lst 串列在記憶體中的起始地址,
pop([index]) 洗掉并回傳串列 lst 中下標為 index 的元素,該位置后面的所有元素自動向前移動,索引減 1,index 默認為 -1,表示洗掉并回傳串列中最后一個元素
remove(x) 在串列 lst 中洗掉第一個值為 x 的元素,被洗掉元素位置之后的所有元素自動向前移動,索引減 1;如果串列中不存在 x 則拋出例外,
count(x) 回傳 x 在串列 lst 中的出現次數
index(x) 回傳串列 lst 中第一個值為 x 的元素的索引,若不存在值為 x 的元素則拋出例外,
sort( key = None , reverse = False) 對串列 lst 的所有元素進行原地逆序,首尾交換

3. 推導式:

使用 非常簡潔 的方式對串列或其他可迭代物件的元素進行遍歷、過濾或再次計算,快速生成滿足特定需求的新串列,

# 格式:
[expression for expr1 in sequence1 if condition
			for expr2 in sequence2 if condition2
			for expr3 in sequence3 if condition3
			...
			for exprN in sequenceN if conditionN
]

# 例子:
data = https://www.cnblogs.com/jombarry/archive/2020/10/16/[num for num in range(20) if num%2==1]
# 等價于 =>
data = []
for num in range(20):
	if num%2 == 1:
		data.append(num)

二、元組(關于元組的所有內容):

創建元組:

  • 用圓括號放若干元素創建元組(如果只有一個元素,則需要多加一個逗號 (3,)
  • tuple() 函式把 串列字典集合字串 以及 range 物件map 物件zip 物件其他類似物件轉換為元組

元組的好處(與串列對比):

元組 串列
修改元素值 不能直接修改 可以修改
訪問速度
開銷
安全性 安全 不安全
是否可以用作字典的鍵 可以 不可以
是否可以作為集合的元素 可以 不可以

三、字典(關于字典的所有內容):

  • 屬于容器物件,其中包含若干元素,每個元素包含 “鍵” 和 “值” 兩部分,之間使用冒號分隔,表示一種對應關系,
  • 不同元素之間使用逗號分隔,所有元素放在一對大括號中,
  • “鍵”,可以是 Python 中任意不可變資料,例如整數、復數、字串、元組等型別;不能是串列、集合、字典或其他可變型別,包含串列等可變資料的元組也不能作為字典的 “鍵”

函式:

1. 訪問:

# 初始化
data = https://www.cnblogs.com/jombarry/archive/2020/10/16/dict(name ="張三", age = 8, sex = 'M')
  • 把 “鍵” 最為下標可以回傳對應的 “值”(不存在的話會拋出例外)
print(data('name'))
# 結果:張三
  • get() 方法獲取指定的 “鍵” 對應的 “值”(不存在回傳空值或指定的值)
print(data.get('age'))
# 結果:18
  • 支持元素迭代
    • 可以將其轉換為串列或元組
      print(list(data))
      # 結果:['name', 'age', 'sex']
      
    • 可以使用 for 回圈遍歷其中的元素,默認情況下是遍歷字典中的 “鍵”
      for key, value in data.items():
      	print(key, value, sep='\t')
      # 結果:name 張三
      # 結果:age 18
      # 結果:sex M
      
    • 遍歷字典元素,必須使用字典物件的 items() 方法明確說明
      print(list(data.items()))
      # 結果:[('name', '張三'), ('age', '18'), ('sex', 'M')]
      
    • 遍歷字典的 “值”,則必須使用字典物件的 values() 方法明確說明
      print(list(data.values()))
      # 結果:['張三', '18', 'M']
      

2. 修改:

當以指定 “鍵” 為下標為字典元素賦值時:

  • 若該 “鍵” 存在,表示修改該 “鍵” 對應的值:
soct = {'IP': '127.0.0.1', 'port': 80}
soct['port'] = 8080
print(soct)
# 結果:{'IP': '127.0.0.1', 'port': 8080}
  • 若 “鍵” 不存在,表示添加一個新元素:
soct = {'IP': '127.0.0.1', 'port': 80}
soct['protocol'] = 'TCP'
print(soct)
# 結果:{'IP': '127.0.0.1', 'port': 80, 'protocol': 'TCP'}

3. 添加:

update() 方法可以將另一個字典的元素一次性全部添加到當前字典中,如果兩個字典中存在相同的 “鍵”,則以另一個字典中的 “值” 為準對當前字典進行更新:

sock = {'IP': '127.0.0.1', 'port': 80}
sock.update({'IP': '192.168.9.62', 'protocol': 'TCP'})
print(sock)
# {'IP': '192.168.9.62', 'protocol': 'TCP', 'port': 80}

4. 洗掉:

sock = {'IP': '192.168.9.62', 'port': 80, 'protocol': 'TCP'}
  • pop() 方法可以洗掉指定 “鍵” 對應的元素,同時回傳對應的 “值”,
print(sock.pop('IP'))
# 結果:192.168.9.62
  • popitem() 方法用于洗掉并回傳一個包含兩個元素的元組,其中的兩個元素分別是字典元素的 “鍵” 和 “值”,
print(sock.popitem())
# 結果:('protocol', 'TCP')
  • del 洗掉指定的 “鍵” 對應的元素,
del sock['port']
print(sock)
# 結果:{'IP': '192.168.9.62', 'protocol': 'TCP'}

四、集合(關于集合的所有內容):

無序、可變的容器物件,所有元素放在一對大括號中,元素之間使用逗號分隔,同一個集合內的每個元素都是唯一的,不允許重復,

0. 創建:

  • 所有元素放在一對大括號中,創建集合
data = https://www.cnblogs.com/jombarry/archive/2020/10/16/{30, 40, 50}
  • 使用 set() 函式將串列、元組、字串、range 物件等其他可迭代物件轉換為集合,
  • 使用集合推導式生成特定的集合,如果原來的資料中存在重復元素,在轉換為集合的時候重復的元素只保留一個,自動除去重復元素,
  • 如果原序列或迭代物件中有可變型別的資料,則無法轉換成為集合,拋出例外,

特點

  • 集合內資料要求:
    • 集合中只能包含數字、字串、元組等不可變型別的資料
    • 不包含串列、字典、集合等可變型別的資料,包含串列等可變型別資料的元組也不能作為集合的元素,
  • 元素是無序的,元素儲存順序和添加順序并不一致,

1. 訪問:

  • 集合不支持使用下標直接訪問特定位置上的元素,也不支持使用 random 中的 choice() 函式從集合中隨機選取元素
  • 支持使用 random 模塊中的 sample() 函式隨機選取部分元素,

2. 修改:

函式 解釋
add() 添加新元素,如果存在則忽略該操作,不會拋出例外,
update() 方法用戶合并另一個集合中的元素到另一個集合中,并自動除去重復元素,
data = https://www.cnblogs.com/jombarry/archive/2020/10/16/{30, 40, 50}
data.add(20)
print(data)
# 結果:{40, 50, 20, 30}

data = {30, 40, 50}
data.update({40, 60})
print(data)
# 結果:{50, 40, 60, 30}

3. 洗掉:

函式 解釋
pop() 用來隨機洗掉并回傳集合中的一個元素,如果集合為空則拋出例外,
remove() 用于洗掉集合中的指定元素,如果指定元素不存在則拋出例外,
remove() 用于從集合中洗掉一個指定元素,若指定的元素不在集合中則直接忽略該操作,
data = https://www.cnblogs.com/jombarry/archive/2020/10/16/{30, 40, 50}
data.remove(30)
print(data)
# 結果:{40, 50}

data = {30, 40, 50}
data.discard(30)
print(data)
# 結果:{40, 50}

data = {30, 40, 50}
data.pop()
print(data)
# 結果:{50, 30}

五、字串(關于字串的所有內容):

字串屬于不可變物件,

1. 編碼與解碼

函式 解釋
encode() 使用指定的編碼格式把字串編碼為字串,默認使用 UTF-8 編碼格式,
decode() 使用指定的編碼格式把位元組串解碼為字串,默認使用 UTF-8 編碼格式,

2. 將資料格式轉化為特定格式的字串

函式 解釋
format() 用于把資料格式轉化為特定格式的字串,該方法通過格式字串進行呼叫,

常用的格式

  • b(二進制格式)
  • c(把整數轉換成 Unicode 字符)
  • d(十進制格式)
  • o(八進制格式)
  • x(小寫十六進制格式)
  • X(大寫十六進制格式)
  • e/E(科學計數法格式)
  • f/F(固定長度的浮點數格式)
  • %(使用固定長度浮點數顯示百分數)
# 保留4位小數
# 0 表示引數下標,對應第一個引數
print('{0:.4f}'.format(10/3))
# 結果:3.3333
print('{0:.2%}'.format(1/3))
# 結果:33.33%

# 格式化為百分數字串,總寬度為10,保留2位小數,> 表示右對齊
print('{0:>10.2%}'.format(1/3))
# 結果:    33.33%

# 逗號表示在數字字串中插入逗號作為千分符,#x表示格式化為十六進制數
print("{0:,} in hex is: {0:#x}, in oct is {0:#o}".format(5555555))
# 結果:5,555,555 in hex is: 0x54c563, in oct is 0O25142543

# 可以先格式化下標為 1 的引數,再格式化下標為 0 的引數
print("{1} in hex is: {1: #x}, {0} in oct is {0:o}".format(6666, 66666))
# 結果:66666 in hex is: 0x1046a, 6666 in oct is 15012

# _表示在數字中插入下劃線來為千分符
print('{0:_}, {0:#_x}'.format(10000000))
# 結果:10_000_000, 0x98_9680

3. 單個字串在字串中的相關函式

函式 解釋
index() 回傳一個字串在當前字串中 首次出現 的位置,如果當前字串中不存在此字串,則拋出例外,
rindex() 回傳一個字串在當前字串中 最后一次 出現的位置,如果當前字串中不存在此字串,則拋出例外,
count() 方法用來回傳一個字串在當前字串中 出現的次數,如果當前字串中不存在此字串,則回傳 0,

4. 字串的編輯修改

函式 解釋
replace() 用來替換字串中指定字符或子字串的所有重復出現,每次只能替換一個字符或一個字串,把指定的字串引數作為一個整體對待,類似與 Word、WPS、記事本、寫字板等文本編輯器的'全部替換'功能,該方法回傳一個新字串,并不修改原字串,
maketrans() 用來生成字串映射表,
format() 用于把資料格式轉化為特定格式的字串,該方法通過格式字串進行呼叫,
translate() 用來根據映射表中定義的對應關系轉換字串并替換其中的字符,
text = "python 是一門非常棒的編程語言,"
print(text.replace('棒', '優雅').replace('編程', '程式設計'))
# 結果:python 是一門非常優雅的程式設計語言,

table = ''.maketrans('0123456789', '零壹貳叁肆伍陸柒捌玖')
print('Tel:30647359'.translate(table))
# 結果:Tel:叁零陸肆柒叁伍玖

5. 字串進行排版

函式 解釋
ljust() 居左
rjust() 居右
center() 居中
print('居左'.ljust(20)+'結束')
# 結果:居左				結束
print('居右'.rjust(20, '#'))
# 結果:####################居右
print('居中'.center(20, '='))
# 結果:==========居中==========

6. 自定義分隔符對字串分隔

不指定默認為空格、換行符和制表符等空白字符)作為分隔符對原字串進行分隔

函式 解釋
split() 從左向右
rsplit() 從右向左
join() 使用指定的字串作為連接符對可迭代物件中的若干字串進行連接,
text = 'Beautiful is better than ugly.'
print(text.split())
# 結果:['Beautiful', 'is', 'better', 'than', 'ugly.']

print(text.split(maxsplit=1))
# 結果:['Beautiful', 'is better than ugly.']

print('1,2,3,4'.split(','))
# 結果:['1', '2', '3', '4']

print(','.join(['1', '2', '3', '4']))
# 結果:1,2,3,4

print(':'.join(map(str, range(1, 5))))
# 結果:1:2:3:4

7. 大小寫轉換

函式 解釋
lower() 字串中的英文字母全部轉換為 小寫 字母
upper() 字串中的英文字母全部轉換為 大小 字母
capitalize() 每個 句子第一個字母 轉換為 大寫 字母
title() 每個 單詞第一個 字母轉換為 大寫 字母
swapcase() 小寫 字母轉換為 大寫 字母并把 大寫 字母轉換為 小寫 字母
text = 'Explicit is better than implicit.'
print(text.lower())
# 結果:explicit is better than implicit.

print(text.upper())
# 結果:EXPLICIT IS BETTER THAN IMPLICIT.

print(text.capitalize())
# 結果:Explicit is better than implicit.

print(text.title())
# 結果:Explicit Is Better Than Implicit.

print(text.swapcase())
# 結果:eXPLICIT iS bETTER tHAN iMPLICIT.

8. 判斷字串開始與結束單詞

測驗字串是否以指定的一個或幾個字串(放在元組中)開始或結束

函式 解釋
startswith() 開始
endswith() 結束
text = 'Simple is better than complex.'
print(text.startswith('simple'))
# 結果:False

print(text.startswith('Simple'))
# 結果:True

print(text.endswith(('.', '!', '?')))
# 結果:True

9. 洗掉字串指定字符

洗掉字串兩側、右側和左側的空白字符或指定的字符

函式 解釋
strip() 兩側
rstrip() 右側
lstrip() 左側
text = '     ======test===#####     '
print(text.strip())
# 結果:======test===#####

print(text.strip('=# '))
# 結果:test

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/175025.html

標籤:其他

上一篇:求助讀取hdfs時at org.apache.parquet.hadoop.InternalParquetRecordReader會產生大量的日志,怎么抑制

下一篇:C/C++編程筆記:Windows編程入門知識,帶你從C語言到Windows

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more