我对Python中的列表理解有点困惑。我刚刚在3个月前学过Python并希望改进。我有以下方法:
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
我想通过展平列表理解来生成它的等价物。我做了以下事情:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/my_drawable">
...
some text views etc.
...
</RelativeLayout>
我在第二个和第三个循环中仍有问题。任何帮助都非常感谢:)
答案 0 :(得分:0)
在迭代时不要附加到列表中;循环只会永远持续下去。
相反,使用列表订阅更新每个索引处的项目:
for i in range(len(Arr)):
Arr[i] = '{0:016b}'.format(Arr[i])
毋庸置疑,列表理解更加优雅,并且比 循环的更容易阅读和理解。< / p>