我是python的新手。在网上找到一个我想了解的代码。有人可以帮我理解下面的陈述实际上是做什么的吗?
self.record = [random.choice([0.0, 1.0]) for _ in range(10)]
答案 0 :(得分:10)
random.choice([0.0, 1.0])
random.choice
方法将随机选择给定序列的元素。在这里,它会随机选择0.0
或1.0
。
range(10)
此函数将创建一个10元素列表(或在python3上可迭代)
[function() for _ in range(10)]
这是一个列表推导,它将调用一个函数10次,并将结果放在一个列表中。 _
是一个python惯例,意思是“我需要一个变量,但我不会使用它的值”
[random.choice([0.0, 1.0]) for _ in range(10)]
这会创建一个长10个元素的列表,其中每个元素都是随机选择的0.0
或1.0
。
self.record = [random.choice([0.0, 1.0]) for _ in range(10)]
这会将10个元素列表放入当前类中的实例变量record
。
它等同于以下代码
self.record = []
for _ in range(10):
num = random.choice([0.0, 1.0])
self.record.append(num)
答案 1 :(得分:1)
它意味着什么:
self.record = [ random.
#self.record shall be a name for: a list consisting of one random
choice( [0.0, 1.0]) for _
#choice taken from the list [0.0, 1.0], for each value (which we don't care about)
in range( 10)]
#in a range from 0 up to but not including 10.