【发布时间】:2018-09-19 08:21:15
【问题描述】:
假设列表 'l' 包含元组并且有偶数个元素。 每个元组包含 3 个数字 (int) 0
现在有趣的部分,有以下模式:
l[0] = l[1], l[2] = l[3], l[4] = l[5] .....
所以列表看起来像这样:
l[0] = (100, 200, 10)
l[1] = (100, 200, 10)
l[2] = (250, 45, 30)
l[3] = (250, 45, 30)
l[4] = (30, 10, 5)
l[5] = (30, 10, 5)
.......
问题不在于如何生成列表,因为这很容易,我想知道是否有任何方法可以在一行中完成,使用一些聪明的技巧和列表理解等。
现在代码如下所示:
from random import randint
b = []
for _ in range(4):
b += [(randint(0, 255), randint(0, 255), randint(0, 255))]*2
# example for how b looks:
# [(206, 89, 40), (206, 89, 40), (36, 115, 91), (36, 115, 91), (232, 55, 96), (232, 55, 96), (183, 114, 179), (183, 114, 179)]
【问题讨论】:
-
你会给出你的实际代码吗?
-
欢迎来到stackoverflow!请使用tour,阅读how to ask a question 并提供minimal, complete and verifiable example 来重现您的问题。
-
我不明白你的模式应该是什么,除了其中一些是平等的。
-
@khelwood:据我了解,OP希望连续的相等
-
@RahulAgarwal 不,如果连续的相等,则它们必须 all 相等。我可以看到每个奇数索引的元组都等于它之前的那个,但是是这样吗?这些值是任意的吗?
标签: python list random tuples list-comprehension