字符編碼:
ASCII : 只編碼了英文和常用符
漢字 : gbk gb2313
unicode : 將全球所有文字編寫到了一張表中,unicdoe一般存在於內存中,不會存在硬盤中
數據在硬盤或網絡上進行存儲或傳輸時,必須以字節碼的形式存在。將編碼編碼成字節碼:
utf-8
gbk
常用命令
- ord() : 根據某一個字符查看unicode編碼值 ord('中')
- chr() : 根據unicode編碼值查看某一個字符 chr(20015)
- encode() : 將unicode編碼成字節碼 '中國'.encode() '中國'.encode('gbk')
- decode() : 將字節解碼成unicode b'\xe4\xb8\xad'.decode('utf-8')
ASCII
0 : 48
A : 65
a : 97
\b \r \n \f \t \v
列表 list
列表是一個有序的可變容器。
形式:
L = []
L = [1,3.14,'abc',[1,2]]
L = list(可迭代對象) L = list('abc123')
例: L = [1,3.14,'abc',[1,2]]
增
L.append(item) 在最後增加一個元素 L.apppend(6)
L.insert(索引,item) 在指定索引處插入一元素 L.insert(2,'666')
L.extend(列表) 將兩個列表合併成一個 L.extend([1,2,3])
刪
L.pop(索引) 根據索引彈出元素,默認索引值爲-1, L.pop() L.pop(0)
L.remove(元素值) 根據元素的值進行刪除元素,從左至右僅刪除一次
L.clear() 清空整個列表
del(對象) python通用方法,可以刪除整個列表或某個元素 del(L) del(L[2])
改
L[索引] = 新值 根據索引進行修改 L[3] = 'test'
查
因爲列表是序列的一種,所以所有序列的方法全部適用
索引、切片、加法、乘法、in 、not in 、 len() 、max()、min()
L.count(值) 查尋某一個值在列表中出現的次數
L.index(值) 查尋某一個值在列表中對應的索引
其它方法:
L.reverse() 將列表取反,會直接修改元素本身,類似於 L = L[::-1]
L.sort() 排序,前提時列表中的元素類型一致
L1 = [10,2,100,5]
L1.sort()
L.copy() 深拷貝
深拷貝和淺拷貝
淺拷貝指向同一內存空間,所以一個對象修改了,全部修改了。
L1 = L
深拷貝是在內存中新開闢了一個空間,這個空間初始值相同,所有的操作都是獨立的。
L1 = L.copy()
L2 = L[:]
元組 tuple
元組是一種有序的不可變容器,可以認爲元組就是一個只讀的列表
形式:
var = ()
var = (1,) var = 1,2,3 元組的小括號可以省略,如裏元組中只有一個元素,那麼這個元素後面必須 要有一個逗號
var = (1,3.14,'abc',[1,2],('test1',),True)
var = tuple(迭代對象) 可以將一個迭代對象變成元組 var = tuple('abc') var = tuple([1,2,3])
元組的操作方法:
例:var = (1,3.14,'abc',True)
因爲元組是序列的一種,所以所有序列的方法全部適用
索引、切片、加法、乘法、in 、not in 、 len() 、max()、min()
var.count(值) 查尋某一個值在元組中出現的次數
var.index(值) 查尋某一個值在元組中對應的索引
練習
server1 = r'9000,20GB,3xx:1000,4xx:500,5xx:100'
server2 = r'32000,120GB,3xx:1500,4xx:1000,5xx:600'
求出兩個服務器的總流量,及總訪問次數
參考:
server1 = r'9000,20GB,3xx:1000,4xx:500,5xx:100'
server2 = r'32000,120GB,3xx:1500,4xx:1000,5xx:600'
count1 = int(server1.split(',')[0])
count2 = int(server2.split(',')[0])
print(count1 + count2)
size1 = server1.split(',')[1]
size1 = int(size1[:-2])
size2 = server2.split(',')[1]
size2 = int(size2[:-2])
print('{}GB'.format(size1 +size2))
斐波那契數列(後一位永遠是前兩位數的和)
fib = [1,1] 要求使用列表輸出前6數
fib = [1,1,2,3,5,8,13,21,......]
參考:
#!/usr/local/python3/bin/
#conding:utf-8
#author:liu shuai jie
''' 斐波那契數列(後一位永遠是前兩位數的和)
fib = [1,1] 要求使用列表輸出前6數
fib = [1,1,2,3,5,8,13,21,......]'''
number = int(1)
fib = [1,1]
while number <= 4:
tmp = fib[-1] + fib[-2]
fib.append(tmp)
number += 1
print(fib)
input 採集學生信息(姓名,電話,成績),至少三個,使用列表,輸出如下形式
[ [‘stu1’,18801116666,80],[‘stu2’,[email protected],70],[‘stu1’,18801116856,78s] ]
參考:
#!/usr/local/python3/bin/
#conding:utf-8
#author:liu shuai jie
number = int(1)
stus = []
while number <= 3:
name = input('please input your name: \n').strip()
phone = input('{} please input your phone number:\n'.format(name))
age = input('{} please input your age:\n'.format(name))
tmp = [name,phone.strip(),age.strip()]
stus.extend(tmp)
number += 1
print(stus)