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

请求修改Python代码:实现字典内列表按索引顺序遍历元素

Solution to Iterate by Element Position Instead of List

Your original code iterates through each entire list one after another, which is why you're getting elements in the order of each list's contents. To achieve your desired output (first all first elements, then all second elements), we need to iterate by position index across all lists instead.

Here's how you can modify your code:

# Your original dictionary
my_dict = {1: ['cup', 'pen'], 2: ['one', 'two'], 3: ['five']}

# Convert dict values to a list of lists for easier handling
value_lists = list(my_dict.values())

# Find the maximum length of the lists to know how many positions we need to check
max_length = max(len(lst) for lst in value_lists)

# Collect elements by their position index
result = []
for index in range(max_length):
    for lst in value_lists:
        # Only add the element if the current index exists in the list
        if index < len(lst):
            result.append(lst[index])

# Print the result as space-separated text
print(' '.join(result))

How This Works:

  • Extract Value Lists: We convert the dictionary's values into a list of lists to easily loop through them multiple times.
  • Determine Maximum List Length: This tells us how many position indices we need to check (in your case, 2, since the longest list has 2 elements).
  • Iterate by Index: For each index starting from 0, we loop through every list. If the list has an element at that index, we add it to our result.
  • Output the Result: Finally, we join the collected elements into a single space-separated string and print it.

Running this code will produce your desired output: cup one five pen two

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:37:04