【发布时间】:2016-06-21 20:09:24
【问题描述】:
我的功能是这样的:
输入:
8
输出:
['000', '001', '010', '011', '100', '101', '110', '111']
所以这是创建一个列表来存储从 0 开始的 input_number 二进制数。 这是我的代码(正确版本):
import math
input_num = 8
max_bit = math.ceil(math.log(input_num, 2))
list_Bin = [None] * input_num
for i in range(input_num):
extra_d = max_bit - len(bin(i)[2:])
list_Bin[i] = '0'*extra_d + bin(i)[2:]
print(list_Bin)
此代码运行良好。但是如果我更改一行代码:
list_Bin = [None] * input_num
到
list_Bin = [] * input_num
它会引发 IndexError。
我真的很想知道为什么,因为我遇到过很多次这个问题。
【问题讨论】:
标签: python list python-3.x indexing