python 获取列表值为1的元素的索引,并输出为新的列表
时间: 2024-05-07 20:19:50 浏览: 72
可以使用以下代码实现:
```python
original_list = [1, 2, 3, 1, 4, 1]
new_list = []
for i in range(len(original_list)):
if original_list[i] == 1:
new_list.append(i)
print(new_list)
```
这段代码会输出为新的列表 `[0, 3, 5]`,表示在原始列表中值为1的元素的索引是0、3、5。
相关问题
python获取列表全部重复元素的索引位置
可以使用列表推导式和enumerate函数来获取列表中全部重复元素的索引位置:
```python
lst = [1, 2, 3, 4, 2, 5, 3, 6, 2]
indexes = [i for i, x in enumerate(lst) if lst.count(x) > 1]
print(indexes)
```
输出结果为:
```
[1, 4, 6, 8]
```
其中,列表推导式 `[i for i, x in enumerate(lst) if lst.count(x) > 1]` 遍历了列表中的每个元素,并判断该元素在列表中的出现次数是否大于1,如果是,则将该元素的索引位置加入到结果列表 `indexes` 中。最后输出结果列表即可。
python获取列表满足某个条件的索引区间
要获取满足某个条件的索引区间,可以使用Python中的列表推导式。首先,遍历列表,使用enumerate()函数同时获取元素的值和索引。然后,通过if条件判断,如果条件满足则将索引保存至一个列表中。最后,找出保存的索引列表中最小值和最大值,即可得到满足条件的索引区间。
下面是一个示例代码:
```python
def get_index_range(my_list, condition):
index_list = [i for i, value in enumerate(my_list) if condition(value)]
if not index_list:
return -1 # 没有满足条件的索引区间,返回-1
min_index = min(index_list)
max_index = max(index_list)
return min_index, max_index
# 测试代码
my_list = [1, 2, 3, 4, 5, 6, 7]
condition = lambda x: x > 3 # 条件:元素大于3
result = get_index_range(my_list, condition)
print(result) # 输出:(3, 6)
```
在上面的代码中,get_index_range()函数用于获取满足条件的索引区间。通过lambda表达式定义条件,判断元素是否大于3。最后的测试代码中,将列表[1, 2, 3, 4, 5, 6, 7]传入函数,并设置条件为元素大于3,输出的结果为(3, 6),即满足条件的索引区间为3到6。
阅读全文