1. 程式人生 > >python 基礎一

python 基礎一

tin mov lac rate mes 不能 返回值 center replace

  • 列表、元組操作
  • 字符串操作
  • 字典操作
  • 集合操作
  • 文件操作
  • 字符編碼與轉碼

列表、元組操作

切片

>>> names = ["test","Tenglan","Eric","Rain","Tom","Amy"]
>>> names[1:4]            #取下標1至下標4之間的數字,包括1,不包括4
[Tenglan, Eric, Rain]
>>> names[1:-1]           #取下標1至-1的值,不包括-1
[Tenglan, Eric, Rain
, Tom] >>> names[0:3] [test, Tenglan, Eric] >>> names[:3]             #如果是從頭開始取,0可以忽略,跟上句效果一樣 [test, Tenglan, Eric] >>> names[3:]             #如果想取最後一個,必須不能寫-1,只能這麽寫 [Rain, Tom, Amy] >>> names[3:-1]           #這樣-1就不會被包含了 [Rain, Tom
] >>> names[0::2]           #後面的2是代表,每隔一個元素,就取一個 [test, Eric, Tom] >>> names[::2]           #和上句效果一樣 [test, Eric, Tom]

追加操作--append

技術分享圖片

插入操作

技術分享圖片

修改操作

技術分享圖片

刪除操作

技術分享圖片

擴展操作

技術分享圖片

拷貝操作

技術分享圖片

統計操作

技術分享圖片

排序和反轉操作

技術分享圖片

獲取索引值操作

技術分享圖片

元組操作

技術分享圖片

字符串操作

技術分享圖片

format函數和join函數

技術分享圖片

replace函數

技術分享圖片

字典操作

技術分享圖片

增加操作

技術分享圖片

修改操作

技術分享圖片

刪除操作

技術分享圖片

查找操作

技術分享圖片

其他操作

技術分享圖片

循環

技術分享圖片

集合

集合是一個無序的,不重復的數據組合,它的主要作用如下:
去重,把一個列表變成集合,就自動去重了
關系測試,測試兩組數據之前的交集、差集、並集等關系

技術分享圖片

技術分享圖片

技術分享圖片

示例

l1 = [1,2,5,3,6,7,9]
l2 = [2,3,5,8,9]

①、設置一個集合
list_1 = set(l1)                ###設置一個集合
print (type(list_1))            ###打印類型,為集合        

打印結果:
{1, 2, 3, 5, 6, 7, 9} <class set>

②、交集/並集/差集/對稱差集

###交集  (&
c = l1.intersection(l2)
#print (c,type(c))

###並集 (|
d = l1.union(l2)
print (d,type(d))

###差集 (-

e = l1.difference(l2)            ###l1裏面有,但是l2裏面沒有
print (e)
f = l2.difference(l1)            ###l2裏面有,但是l1裏面沒有
print (f)

####子集

g = l1.issubset(l2)
print (g)                           ###返回false,這裏l1不是l2的子集

####父集

h = l1.issuperset(l2)
print (h)                           ####返回fasle,這裏l1不是l2的父集

###對稱差集(把兩個集合裏互相沒有的取出來)^)
i = l1.symmetric_difference(l2)
print (i)


③、增刪改查

添加:
     l1.add(x)            ###添加一項
   l1.update(1,2,3)        ###添加多項
刪除:
         pop         ###刪除一個元素並打印刪除的返回值
         remove      ###刪除指定的元素
       

文件操作

對文件操作流程
1.打開文件,得到文件句柄並賦值給一個變量
2.通過句柄對文件進行操作
3.關閉文件

f = open("aaaa",encoding="utf-8")             # 打開文件
first_line = f.readline()
print(first line:, first_line)              # 讀一行
print(我是分隔線.center(50, -))        

#打印結果
----------------------我是分隔線-----------------------

data = f.read()                  # 讀取剩下的所有內容,文件大時不要用
print(data)              # 打印文件

all_lines = f.readlines()
print ("all_line:",all_lines)        ###讀取所有行

f.close()                      # 關閉文件


#打印前5行
for i in range(5):
    print (f.readline())

#####一行一行的讀取(推薦使用,比較高效)

f = open("aaaa")          # 打開文件

count = 0
for line in f:

    if count == 2:
        print ("llall")
        count += 1
        continue
    print (line)
    count += 1

簡寫:

count = 0
for line in f:
    print(line)
    count += 1
    if count == 2:
        print ("llall")
        continue


####一次性讀取所有文件內容
打印前10行,如果打印到第6行時跳過(讀取時直接讀取所有到內存,遇到大文件不適合用):

for index,value in enumerate(f.readlines()):    ####enumerate枚舉,下標從0開始,
    if index == 2:
        print ("daf")                        ###此處可不寫,直接跳出循環從新開始
        continue

技術分享圖片

編碼解碼

1.在python2(先轉成unicode,先decode成unicode在encode成gbk或者utf-8)默認編碼是ASCII, python3裏默認是unicode bytes編碼的經過decode 成中文字符串

2.unicode 分為 utf-32(占4個字節),utf-16(占兩個字節),utf-8(占1-4個字節), so utf-16就是現在最常用的unicode版本, 不過在文件裏存的還是utf-8,因為utf8省空間

3.在py3中encode,在轉碼的同時還會把string 變成bytes類型,decode在解碼的同時還會把bytes變回string

示例:


import sys
print(sys.getdefaultencoding())


msg = "我愛北京天安門"                                    ##此時為unicode
msg_gb2312 = msg.encode(encoding="gb2312")                ###此時只能encode
gb2312_to_gbk = msg_gb2312.decode("gbk").encode("gbk")

print(msg)
print(msg_gb2312)
print(gb2312_to_gbk)


打印結果:

utf-8
我愛北京天安門
b\xce\xd2\xb0\xae\xb1\xb1\xbe\xa9\xcc\xec\xb0\xb2\xc3\xc5
b\xce\xd2\xb0\xae\xb1\xb1\xbe\xa9\xcc\xec\xb0\xb2\xc3\xc5


所有的轉碼必須先轉成unicode
在從encode成“utf-8”或者“gb-2312

python 基礎一