问题:已知列表和目标值,查找目标值在列表中的位置
# 示例列表
my_list = [2, 5, 8, 5, 3, 7, 5, 8]
# 目标值
target_value = 5
方法一:使用列表推导式
# 使用列表推导式查找索引
indices = [i for i, x in enumerate(my_list) if x == target_value]
# 打印输出
print("目标值 {} 在列表中的索引:{}".format(target_value, indices))
目标值 5 在列表中的索引:[1, 3, 6]
方法二:使用 enumerate 函数
# 使用 enumerate 函数查找索引
indices = [i for i, x in enumerate(my_list) if x == target_value]
# 打印输出
print("目标值 {} 在列表中的索引:{}".format(target_value, indices))
目标值 5 在列表中的索引:[1, 3, 6]
方法三:使用numpy库中的numpy.where函数:
import numpy as np
# 使用 numpy.where 查找索引
indices = np.where(np.array(my_list) == target_value)[0]
# 打印输出
print("目标值 {} 在列表中的索引:{}".format(target_value, indices))
目标值 5 在列表中的索引:[1, 3, 6]
方法四:将列表直接转换为 Pandas 的 Series,并使用 Pandas 的功能来实现目标
import pandas as pd
# 转换为 Pandas Series
my_series = pd.Series(my_list)
# 使用 Pandas 查询条件查找索引
indices = my_series.index[my_series == target_value].tolist()
# 打印输出
print("目标值 {} 在 Series 中的索引:{}".format(target_value, indices))
目标值 5 在 Series 中的索引:[1, 3, 6]