You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python列表:查找最大值位置并获取其前一位元素的实现方法

Solution to Find the Corresponding Room Name for the Largest Number

Let's break this down into simple, actionable steps to solve your problem. Here's how you can implement the required functionality:

Step 1: Understand the List Structure

Your example list alternates between room names (strings) and their corresponding numbers (integers):

my_list = ['room', 10, 'chamber', 23, 'kitchen', 8]

The largest number here is 23, located at index 3 — its previous element (index 2) is the room name we need: 'chamber'.

Step 2: Implement aMethodToGetTheGreatestValuePosition()

This method will iterate through the list, track the largest numeric value and its index. We'll skip non-numeric elements since we only care about the numbers paired with rooms:

def aMethodToGetTheGreatestValuePosition(input_list):
    max_value = None
    max_index = -1
    for idx, item in enumerate(input_list):
        # Check if the current item is a number (int/float)
        if isinstance(item, (int, float)):
            # Update max value and index if current item is larger
            if max_value is None or item > max_value:
                max_value = item
                max_index = idx
    return max_index

Step 3: Tie It All Together

Once we have the index of the largest number, we subtract 1 to get the index of the preceding room name, then print it. We'll add a quick check to handle edge cases:

my_list = ['room', 10, 'chamber', 23, 'kitchen', 8]

# Get the index of the largest number
max_num_index = aMethodToGetTheGreatestValuePosition(my_list)

# Get the room name (previous element) and print it
if max_num_index != -1 and max_num_index > 0:
    room_name = my_list[max_num_index - 1]
    print(f"The room with the largest number is: {room_name}")
else:
    print("No valid number found in the list, or the largest number is at the first position (no preceding room name).")

Step 4: Test the Code

When you run this code, it will output:

The room with the largest number is: chamber

Notes on Edge Cases

  • If the list has no numeric elements, the method returns -1, and our conditional check will handle that gracefully.
  • If the largest number is at index 0 (which shouldn't happen in your alternating structure, but just in case), we avoid trying to access index -1 which would cause an error.

内容的提问来源于stack exchange,提问作者Miloertas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:45:52