4 day4 字元編碼 函式

2022-08-29 10:06:10 字數 4263 閱讀 9255

#! /usr/bin/env python

# -*- coding: utf-8 -*-

# __author__ = "w.z"

# date: 2017/6/94-day

# review-list

# list 刪除

# pop

l = [1, 2, 3, [3, 4]]

print(l[3])

l[3].pop(0)

print(l)

# del

l = [1, 2, 3, [3, 4]]

del l[3][1]

print(l)

# remove 指定元素的值,對元素進行刪除

l = [1, 2, 3, [3, 4]]

print(l[3].remove(4))

print(l)

# 字串多重賦值

a, b, c, d, e = 'hello'

print(a, e)

a, *_, e = 'hello'

print(a, e)

# 1. 字典通過key取value的方法

# 字典列印 keys ,列印出來型別是dict_keys ,可通過list函式轉化為列表(list)型別,或者通過 for ... in ... 列印

dict1 =

print(list(dict1.keys()))

print(type(dict1.keys()))

for i in dict1.keys():

print(i)

# 列印 字典的 values, dict1.values的型別是dict_keys ,可通過list()函式轉化

dict1 =

print(dict1.values())

print(list(dict1.values()))

print(list(dict1.values())[1])

# {}.get('key') {}['key']

# {}.get('a','cant find') //key不存在,返回null,返回 str

dd =

print(dd['a'])

print(dd.get('bb', 'the key do not exits')) # 此處的返回值,只有在取不到的時候才能返回

# 2.列印字典的key value

# for i in dd :列印出來的是key的值

dd = # 列印key

for i in dd:

print(i)

# items()

# for i in dict1.items(): 型別為dict.items

dict1 =

print(dict1.items()) # dict_items([('name', 'lisan'), ('class', '5'), ('room', 'room32')])

print(type(dict1.items()))

for dd in dict1.items():

print(dd)

print(type(dd)) # ddd ('key','value') 列印key-value組成的元組

for k, v in dict1.items():

print(k, v) # 通過 k,v 兩個變數列印元組裡的兩個值

# print(dd.popitem()) 隨機刪除字典元素,其實是刪除最後一位

dict3 =

print(dict3.popitem())

print(dict3)

# 3 . 字典的賦值

dd1 = dict()

print(dd1)

d3 = dict(name='zhangwei', age=18)

print(d3)

a1 = {}

a2 = dict()

print(a1, a2)

a5 = dict([('b', 1), ('c', 2), ('d', 3)]) # dict可以把列表裡面的元組隊,轉化為字典,合理

print(a5)

dd6 = {}.fromkeys(['name', 'age'], ['1'])

dd7 = {}.fromkeys(['name', 'age'], ['egon', '18']) # key value 值是一樣的

print(dd7)

print(dd6)

# 4.字典的刪除操作: pop() popitem()

dict1 =

print(dict1.pop('room3', 'bu cun zai '))

dict1 =

print(dict1.popitem())

print(dict1)

# 5. setdefault 存在key 則返回values,不存在key,則把key-value值加上去

dict1 =

print(dict1.setdefault('name2', 'dasdsa'))

print(dict1)

# 6.update() 把dict5 裡沒有的鍵值對

dict5 =

dict6 =

dict5.update(dict6)

print(dict5)

# 集合

# dict 邏輯操作

# c1.update(c2) ## 把c2的值給c1 ,key一樣覆蓋,key不一樣,增加

# set 對集合進行排重

set1 =

print(set(set1))

names = ['egon', 'alex', 'tim', 'ben']

print(set(names))

print(list(set(names)))

# 資料型別自帶bool值 ,空或者不為空

l = ['1']

if not l:

print('空')

else:

print('不空')

# 集合 :

# 集合內元素必須是唯一的

# 集合內的元素必須是可hash的,也就是不變型別,比如,不能是列表

set3 =

set4 =

print(set3)

print(set3 & set4) # 取交集

print(set3 | set4) # 取合集

print(set3 - set4) # 取差集

# 集合方法

# difference() 取差集

set3 =

set4 =

print(set3.difference(set4))

# difference_update() 取差集,並且更新集合

set3 =

set4 =

print(set3.difference_update(set4))

print(set3)

# 交集 並集 差集

set3 =

set4 =

print(set3 & set4) # 同時報名set3 和set4 的同學

print(set3.intersection(set4))

print(set3 | set4) # 報名的所有同學

print(set3.union(set4))

print(set3 - set4) # 只報名set3的同學

print(set3.difference(set4))

print(set4 - set3) # 只報名set4的同學

print(set4.difference(set3))

# is disjoint 沒有交集,返回true

s1 =

s2 =

s3 =

s4 =

print(s1.isdisjoint(s2))

print(s3.issubset(s2))

s3.update(s4)

print(s3)

#s1 =

s1.add(2)

s1.discard(1)

s1.remove('a')

s1.pop()

print(s1)

names = ['egon', 'alex', 'tim', 'aterm']

print(list(set(names)))

python基礎4 字元編碼

python基礎 字元編碼 一 了解字元編碼 1.文字編輯器訪問檔案的原理 nodepad pycharm,word 開啟編輯器就開啟了啟動了乙個程序,是在記憶體中的,所以在編輯器編寫的內容也都是存放與記憶體中的,斷電後資料丟失 因而需要儲存到硬碟上,點選儲存按鈕,就從記憶體中把資料刷到了硬碟上。在...

base64編碼3字元轉化4字元實現

最近學習smtp協議遇到base64編碼加密。特學習一下。嘗試自己實現一下轉化。base64編碼原理 1 base64的編碼都是按字串長度,以每3個8bit的字元為一組,2 然後針對每組,首先獲取每個字元的ascii編碼,3 然後將ascii編碼轉換成8bit的二進位制,得到一組3 8 24bit的...

day10 字元編碼

這節理論比較多,要好好理解,如果理解不了,一定要把結論記下來 所以基本沒寫別的內容 ascii表 1 只支援英文本串 2 採用8位二進位制數對應乙個英文本串 gbk表 1 支援英文本元 中文字元 2 採用8位 8bit 1bytes 二進位制數對應乙個英文本串 採用16位 16bit 2bytes ...