python List列表查找相同元素下标位置

python的list怎么查找它的下标呢?并能实现记录下标位置。

如下:list_position_name为原list,可以发现‘网络工程师’有多个重复值,那么我们想知道它的下标,最后返回字典形式。

list_position_name= ['网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '会计', '房产经纪', '美发师', '质量管理员', '房产销售', '跟单员', '客户经理', '销售经理', '后期制作', '经纪人', '导购', '房产经纪', '财务审计', '测试开发工程师', '软件测试工程师', '初中级功能测试工程师', 'BMS软件测试工程师', '软件测试工程师 SW Tester', '软件测试员', '测试部经理', '软件测试经理/主管', '中级测试工程师', '884-软件测试工程师', '测试工程师', '软硬件测试工程师', '测试工程师', '软件测试工程师', '高级测试经理', '软件测试工程师', '软件测试经理/主管', '软件测试工程师', '软件测试', '软件测试(常州)']
# 查找相同职位名称位置
list_price_positoin_address = []
for i in list_position_name:
    address_index = [x for x in range(len(list_position_name)) if list_position_name[x] == i]
    list_price_positoin_address.append([i, address_index])
dict_address = dict(list_price_positoin_address)
print(dict_address)

最终查找结果。

dict_address = {'网络工程师': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], '会计': [10], '房产经纪': [11, 21], '美发师': [12], '质量管理员': [13], '房产销售': [14], '跟单员': [15], '客户经理': [16], '销售经理': [17], '后期制作': [18], '经纪人': [19], '导购': [20], '财务审计': [22], '测试开发工程师': [23], '软件测试工程师': [24, 36, 38, 40], '初中级功能测试工程师': [25], 'BMS软件测试工程师': [26], '软件测试工程师 SW Tester': [27], '软件测试员': [28], '测试部经理': [29], '软件测试经理/主管': [30, 39], '中级测试工程师': [31], '884-软件测试工程师': [32], '测试工程师': [33, 35], '软硬件测试工程师': [34], '高级测试经理': [37], '软件测试': [41], '软件测试(常州)': [42]}

现在有两个list,一个是职位信息,一个是薪资水平,因为职位信息有所重复,所以我们想计算平均薪资。第一步通过查找list重复元素,记录下标,然后在薪资list列表中按下标去计算平均薪资,得到最后结果。

list_position_name= ['网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '网络工程师', '会计', '房产经纪', '美发师', '质量管理员', '房产销售', '跟单员', '客户经理', '销售经理', '后期制作', '经纪人', '导购', '房产经纪', '财务审计', '测试开发工程师', '软件测试工程师', '初中级功能测试工程师', 'BMS软件测试工程师', '软件测试工程师 SW Tester', '软件测试员', '测试部经理', '软件测试经理/主管', '中级测试工程师', '884-软件测试工程师', '测试工程师', '软硬件测试工程师', '测试工程师', '软件测试工程师', '高级测试经理', '软件测试工程师', '软件测试经理/主管', '软件测试工程师', '软件测试', '软件测试(常州)']
list_position_price = [22500.0, 18000.0, 21500.0, 6500.0, 9000.0, 22500.0, 18000.0, 21500.0, 6500.0, 9000.0, 1000.0, 6500.0, 1000.0, 4000.0, 10000.0, 6500.0, 6500.0, 10000.0, 1500.0, 1000.0, 4000.0, 6500.0, 2500.0, 110000.0, 55000.0, 85000.0, 1000.0, 275000.0, 1000.0, 1000.0, 165000.0, 80000.0, 180000.0, 60000.0, 60000.0, 60000.0, 60000.0, 90000.0, 80000.0, 150000.0, 50000.0, 55000.0, 80000.0]

# 查找相同职位名称位置
list_price_positoin_address = []
for i in list_position_name:
    address_index = [x for x in range(len(list_position_name)) if list_position_name[x] == i]
    list_price_positoin_address.append([i, address_index])
dict_address = dict(list_price_positoin_address)
# 返回职位薪资平均值
list_price_position = []
list_price_avg = []
for i, v in dict_address.items():
    price = 0
    for j in v:
        price += int(list_position_price[j])
    list_price_position.append(i)
    list_price_avg.append(round(price / int(len(v)), 2))
return list_price_position, list_price_avg

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 在Python中,可以使用index()方法来找到列表list)中某个元素的索引下标。index()方法接受一个参数,即要查找元素,并返回该元素列表中的第一个匹配项的索引。 例如,假设有一个列表nums,存储了一组整数,我们想要找到列表中值为5的元素的索引下标,可以按照以下步骤进行操作: 1. 定义列表nums。 2. 使用index()方法来查找值为5的元素的索引下标,并将结果存储在一个变量中。 3. 打印该变量。 以下是一个具体的例子: ```python nums = [2, 4, 5, 1, 5, 3] index = nums.index(5) print(index) ``` 输出结果为: ``` 2 ``` 注意,如果列表中不存在要查找元素,index()方法会引发一个ValueError异常。在这种情况下,可以使用in关键字来在执行index()方法之前进行检查,以避免异常的发生。 希望以上内容能够帮助到您! ### 回答2: 在Python中,我们可以使用.index()方法来找到一个元素列表中的索引位置。这个方法可以接受一个参数,即需要查找元素。它会从列表的开头开始搜索,一旦找到与参数相等元素,就会返回该元素列表中的索引位置。 举个例子,假设我们有一个列表a = [1, 2, 3, 4, 5, 6, 7, 8, 9],我们想找到元素为5的索引位置。我们可以使用.index(5)来实现这个目标,如下所示: index = a.index(5) print(index) 运行这段代码,输出会是4,因为元素5在列表中的索引位置是4。 需要注意的是,如果列表中有多个相同元素,.index()方法只会返回第一个匹配的元素的索引位置。如果要找出列表中所有匹配元素的索引位置,我们可以使用循环来遍历整个列表并比较每个元素。 例如,假设我们有一个列表b = [1, 2, 3, 4, 5, 4, 6, 7, 8, 5, 9],我们想找到所有元素为5的索引位置。我们可以使用一个循环来实现这个目标,如下所示: indexes = [] for i in range(len(b)): if b[i] == 5: indexes.append(i) print(indexes) 运行这段代码,输出会是[4, 9],因为元素5在列表中的索引位置分别是4和9。 总之,通过使用.index()方法,我们可以轻松找到列表中等于某个元素的索引下标。如果有多个相同元素,我们可以使用循环来查找所有的匹配位置。 ### 回答3: 在Python中,你可以使用index()方法来找到列表中等于某个元素的索引下标。 这个方法接受一个参数,即你要找的元素。它会返回第一个匹配到的元素的索引下标。如果列表中不存在该元素,会抛出一个ValueError异常。 下面是一个示例: ```python my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 查找元素为5的索引下标 index = my_list.index(5) print(index) ``` 运行结果会输出:4。这是因为元素5在列表中的索引下标是4。 如果你想要查找列表中所有匹配到的元素的索引下标,你可以通过循环来实现。下面是一个示例: ```python my_list = [1, 2, 3, 4, 5, 4, 3, 2, 1] # 查找元素为4的所有索引下标 indexes = [] for i, elem in enumerate(my_list): if elem == 4: indexes.append(i) print(indexes) ``` 运行结果会输出:[3, 5]。这是因为元素4在列表中的索引下标是3和5。我们使用了enumerate()函数来同时获取元素和对应的索引下标。 这样,你就可以使用index()方法来找到列表中等于某个元素的索引下标。如有问题,请随时向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值