问题
本文主要介绍Python编程的一些必知必会的知识点,方便后续编程,提升效率。
方法
整数列表join
设有一个整数列表,实现连接所有整数形成一个字符串,如下:
d = [1,2,3,4] print(''.join(d))
很遗憾,上面的代码并非如我们所愿,报错如下:
Exception has occurred: TypeError sequence item 0: expected str instance, int found
原因在于join只能操作字符串,需要修改如下:
d = [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