python常用

[TOC]

fromhex,十六进制字符串转换为字节对象互相转化

>>> bytes([0,1,2,3,4,5]).hex()
'000102030405'
#fromhex这个中间有空格也不影响
>>> bytes.fromhex('000102030405')
b'\x00\x01\x02\x03\x04\x05'
>>> b'abcde'.hex()
'6162636465'
>>> a = bytes.fromhex('6162636465')
b'abcde'

切片操作,这个很常用

参考博客

  • 主要讲一下::这个操作
# [::]
strs = "https://www.baidu.com/"

# 取最后 10 个元素,每 2 个取 1 个
print(strs[-10::2])

# 取第 0 到 10 的元素,每 5个 取 1 个
print(strs[0:10:5])

print(strs[::])
# 倒序
print(strs[::-1])

lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 取全部元素,每 3 个 取 1 个
print(lists[::3])
# 倒序
print(lists[::-1])

'''
biucm
h:
https://www.baidu.com/
/moc.udiab.www//:sptth
[1, 4, 7, 10]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
'''

int

#------------------------------------------------------
int.from_bytes(bytes, byteorder, *, signed=False)
# 使用小端字节序
byte_data = b'\x01\x00'
number = int.from_bytes(byte_data, byteorder='little')
print(number)  # 输出: 1

# 使用大端字节序
byte_data = b'\x01\x00'
number = int.from_bytes(byte_data, byteorder='big')
print(number)  # 输出: 256

#--------------------------------------------------------
int(x, base=10)

zip

  • zip 是 Python 中的一个内置函数,用于将多个可迭代对象(例如列表、元组)“压缩”在一起,并返回一个元组的迭代器,其中第一个元组包含所有可迭代对象的第一个元素,第二个元组包含所有可迭代对象的第二个元素,依此类推。
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)

# Convert zipped object to a list of tuples
zipped_list = list(zipped)
print(zipped_list)


[(1, 'a'), (2, 'b'), (3, 'c')]