例如,如果我有列表:
'OAuth oauth_callback="' + callback
+ '", oauth_consumer_key="' + this.Oauth_consumerkey
+ '", oauth_nonce="' + this.Oauth_nonce
+ '", oauth_signature="' + encodeURIComponent(this.createSignature())
+ '", oauth_signature_method="HMAC-SHA1", oauth_timestamp="' + this.Oauth_timestamp
+ '", oauth_version="1.0"'
我想要获取的列表与len(list_b)有关,例如:
list_a = [5, 2, 30, 6, 17]
所以我需要创建的列表是:
list_b = [40, 90]
如何切片或使用循环来执行此操作?
答案 0 :(得分:0)
以下是使用itertools.islice
的一种解决方案。这减少了构建列表的需要,否则这些列表可能用于提供zip
函数。
from itertools import islice
a = [5, 2, 30, 6, 17]
b = [40, 90, 20]
n = len(b)
slices = (islice(a, i, None) for i in range(1, n))
res = list(zip(*(a, *slices)))
# [(5, 2, 30), (2, 30, 6), (30, 6, 17)]