问题
本文主要介绍Python编程的一些必知必会的知识点,方便后续编程,提升效率。
方法
整数列表join
设有一个整数列表,实现连接所有整数形成一个字符串,如下:
d = [1,2,3,4]
print(''.join(d))
很遗憾,上面的代码并非如我们所愿,报错如下:
Exception has occurred: TypeError
sequence item 0: expected str instance, int found
原因在于join只能操作字符串,需要修改如下:
= [1,2,3,4]
print(''.join(map(str, d))) # 1234
使用一个map函数将d中每一个元素转换成字符串,再进行连接操作。
字符串转整数
# 字符串是普通整数
a = int('1000')
print(a) # 1000
# 字符串是二进制
b = int('1000', 2)
print(b) # 8
# 整数转固定长度的二进制字符串
# 利用f-string可以快速实现
c = f'{15:>08b}'
print(c) # 00001111
二进制字符串异或
二进制字符串的相关操作是十分常见的一种操作。
# (1) 二进制字符串异或后,直接返回整数
def xor(x_1, x_2):
return int(x_1, 2) ^ int(x_2, 2)
a = xor('00100111','10010101')
a1 = f'{a:08b}'
print(a, a1, int(a1, 2)) # 178 10110010 178
# (2) 二进制字符串异或后,转换为相同长度的二进制串
def xor_with_string(x_1, x_2):
n = len(x_1)
x = int(x_1, 2) ^ int(x_2, 2)
return f'{x:08b}'
b = xor_with_string('00100111','10010101')
print(b) # 10110010