我正在做一个hackerrank的例子,叫做翻转位,给定一个32位无符号整数的列表,翻转所有的位(1-〉0和0-〉1),并返回一个无符号整数的结果,正确的代码是:
def flippingBits(n):
seq = format(n, '032b')
return int(''.join(['0' if bit == '1' else '1' for bit in seq]), 2)
我不明白最后一行,''部分是做什么的?为什么结尾有一个,2?
我已经理解了大部分的代码,但需要帮助,在理解最后一部分。
2条答案
按热度按时间frebpwbc1#
.“”部分有什么作用
''
表示一个空字符串,它将被用作分隔符以将集合元素连接成字符串(一些示例可以在here中找到)为什么结尾有个,2?
来自
int
文档:类整数(x=0)
类整数(x,基数=10)
返回由数字或字符串x构造的整数对象
在这种情况下,它会将以二进制格式提供的字符串(即以2为基数)解析为int。
lmyy7pcs2#
我希望下面的解释能有所帮助:
请注意,您可以使用逐位运算进行位翻转,而无需来回转换为字符串。