提问人:gameveloster 提问时间:7/29/2022 更新时间:7/29/2022 访问量:565
生成序列 0, 0, 1, 1, 0, 0, 1, 1, ...在 Python 中 [duplicate]
Generating the sequence 0, 0, 1, 1, 0, 0, 1, 1, ... in Python [duplicate]
问:
使用给了我交替的序列% 2
[0, 1, 0, 1, ...]
seq = []
for i in range(10):
e = i % 2
seq.append(e)
有没有办法通过从循环内部生成元素来生成序列?[0, 0, 1, 1, 0, 0, 1, 1,...]
seq = []
for i in range(10):
e = the_solution(i)
seq.append(e)
答:
9赞
Silvio Mayolo
7/29/2022
#1
听起来你想放慢现有的序列,有效地将每个元素的长度增加一倍。也就是说,新序列的索引 0 和 1 应与旧序列的索引 0 相对应;新序列的 2 和 3 应与旧序列的索引 1 相对应;等等。我们可以使用整数除法来获得这种行为。
e = (i // 2) % 2
//
就像,但它四舍五入到下一个整数,所以和都是 ./
2 // 2
3 // 2
1
评论