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

Python检查字符串是否在列表中及API JSON数据处理技术问询

Hey there! Let's break down your Python questions with clear, actionable examples:

1. How to check if a string exists in a list in Python?

The simplest and most Pythonic way is to use the in keyword—it's intuitive and efficient for most use cases. Here's a quick example:

my_fruits = ["apple", "banana", "cherry"]
looking_for = "banana"

if looking_for in my_fruits:
    print(f"✅ '{looking_for}' is present in the list!")
else:
    print(f"❌ '{looking_for}' isn't in the list.")

If you need the index of the string (where it's located in the list), you can use list.index(), but note that this will throw a ValueError if the string isn't found—so wrap it in a try/except block if you're unsure:

try:
    index = my_fruits.index("banana")
    print(f"'banana' is at index {index}")
except ValueError:
    print("'banana' not found in the list")
2. Extract "mediaStream" values from JSON data and match against a string list

Let's walk through this step by step. First, assuming your API response is already parsed into a Python list of dictionaries (like you shared), we'll extract the mediaStream values, then compare them to your target list.

Full example code:

# Your parsed JSON data from the API call
media_data = [
    {
        "mediaAlgorithm": "G.722",
        "mediaDirection": "TX",
        "mediaFormat": "---",
        "mediaState": "OPENED",
        "mediaStream": "audioTx",
        "mediaType": "AUDIO"
    },
    {
        "mediaAlgorithm": "G.722",
        "mediaDirection": "RX",
        "mediaFormat": "---",
        "mediaState": "OPENED",
        "mediaStream": "audioRx",
        "mediaType": "AUDIO"
    }
]

# Step 1: Extract all "mediaStream" values into a list
extracted_streams = [item["mediaStream"] for item in media_data]
print("Extracted media streams:", extracted_streams)  # Output: ['audioTx', 'audioRx']

# Step 2: Define your target list of strings to match against
target_streams = ["audioTx", "videoRx", "audioRx"]  # Replace with your actual list

# Step 3: Find matches between the extracted streams and target list
matching_streams = [stream for stream in extracted_streams if stream in target_streams]
print("Matching streams:", matching_streams)  # Output: ['audioTx', 'audioRx']

# Bonus: If you want the full dictionary entries that match
matching_full_entries = [item for item in media_data if item["mediaStream"] in target_streams]
print("Full matching entries:", matching_full_entries)

How this works:

  • We use a list comprehension to quickly pull out all mediaStream values from the nested dictionaries—this is far cleaner than looping with for and appending to a list manually.
  • Another list comprehension filters the extracted streams to only keep those that exist in your target list.
  • The bonus section shows how to get the entire dictionary objects instead of just the mediaStream strings, in case you need more context from the matching entries.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:33:57