2024-03-29 06:59:05 发布
网友
给定listx例如
list
[4,6,7,21,1,7,3]
我需要提取那些less than or equal to 4的值。这很容易做到,但我还需要注意列表中出现这些值的位置。如果所有的值都是唯一的,我知道我可能会以某种方式使用list.index()。但是会有重复的值。如何最好地实现这一点?你知道吗
less than or equal to 4
list.index()
简单点怎么样
[(i, val) for i, val in enumerate([[4,6,7,21,1,7,3]) if val <= 4]
或者根据你的用例,也许字典更合适?从索引到值:
{i:val for i, val in enumerate([4,6,7,21,1,7,3]) if val <= 4}
或从值到索引:
from collections import defaultdict indexes = defaultdict(list) for i, val in enumerate([4,6,7,21,1,7,3]): if val <= 4: indexes[val].append(i)
您可以创建另一个列表,将小于等于4的元素的元组存储为第一个元素,将其索引存储为第二个元素,如下所示:
my_list = [4, 6, 7, 21, 1, 7, 3] req_list = [] for i in range(len(my_list)): e = my_list[i] if e <= 4: req_list.append((e, i))
这里req_list将有一对元组,第一个元素是小于等于4的元素,第二个元素是该元素的索引。 e、 g
如果
我的列表=[4,6,7,21,1,7,3]
那么
需求列表=[(4,0),(1,4),(3,6)]
简单点怎么样
或者根据你的用例,也许字典更合适?从索引到值:
或从值到索引:
您可以创建另一个列表,将小于等于4的元素的元组存储为第一个元素,将其索引存储为第二个元素,如下所示:
这里req_list将有一对元组,第一个元素是小于等于4的元素,第二个元素是该元素的索引。 e、 g
如果
我的列表=[4,6,7,21,1,7,3]
那么
需求列表=[(4,0),(1,4),(3,6)]
相关问题 更多 >
编程相关推荐