python - 从 List 生成相邻元素

标签 python python-3.x sliding-window

我想从列表中生成连续的滑动窗口

nums = [1,2,3,4,10]

####O/P 
[[1, 2], [2, 3], [3, 4], [4, 10]]

到目前为止我的代码-

>>> num_list = [1,2,3,4,10]
>>> 
>>> res = []
>>> n = len(num_list)
>>> 
>>> for i in range(n):
...     imm = []
...     for j in range(i,i+1):
...             imm += [num_list[i], num_list[j]]
...     res += [imm]
... 
>>> res
[[1, 1], [2, 2], [3, 3], [4, 4], [10, 10]]

我是 python 初学者,num_list 只是实际列表的一小部分,它更长

最佳答案

您可以使用 zip通过传递原始列表和偏移量为 1 的列表切片,从列表中创建连续对的列表:

list(zip(num_list, num_list[1:]))

关于python - 从 List 生成相邻元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65976828/

相关文章:

python - 如何强制指定 Yaml 列表类型

python - 是否可以在一次调用中将 "unpack"写入一个字典?

python-3.x - 导入错误 : The HttpLocust class has been renamed to HttpUser in version 1. 0

python - 如何从python3中的pandas数据框中选择特定时间范围的列?

string - 字符串中连续 1 的最大数目

python - 在迭代列表时获取索引

python - if/elif/else 语句帮助金钱

python - Split() 函数给我带来了麻烦

python - 如何从列表列表中选择元素的滑动窗口?