我对Python中的列表理解有点困惑。我刚刚3个月前学习了Python,希望能够改进。我有以下方法:生成没有列表理解的等效方法
def func(self, n):
Arr = [random.randint(0, 2 ** 16) for _ in range(n)]
Arr = list(set(Arr))
Arr = [('{0:0' + str(16) + 'b}').format(x) for x in Arr]
Arr = np.asarray([list(map(int, list(x))) for x in Arr])
return Arr
我想通过展开列表理解来生成它的等价物。我做了以下几点:
def func(self, n):
Arr = []
for _ in range(n):
Arr.append(random.randint(0, 2 ** 16))
Arr = list(set(Arr))
for x in Arr: # This loop has an issue
Arr.append(('{0:0' + str(16) + 'b}').format(x))
for x in Arr: # This loop has an issue
Arr.asarray([list(map(int, list(x)))])
return Arr
我仍然在第二个和第三个循环中有问题。任何帮助真的很感激:)
尝试在每个循环(包括第一个循环)后面打印“Arr”以查找错误 – user3080953