给定一组电影和相关数据（如演员、导演、评分等），编写一个程序，根据指定的条件（如演员、导演、类型、评分等）返回与之匹配的电影列表。


演员：Tom Hanks，导演：Steven Spielberg，类型：战争/历史，评分：8以上
使用一种编程语言和电影数据源，可以使用以下代码来返回符合条件的电影列表：

```
movies_data = # 从数据源获取电影数据

# 定义筛选条件
actor = "Tom Hanks"
director = "Steven Spielberg"
genres = ["战争", "历史"]
min_rating = 8.0

# 筛选符合条件的电影
matching_movies = []
for movie in movies_data:
    if actor in movie['actors'] and director == movie['director'] and \
            any(genre in movie['genres'] for genre in genres) and \
            movie['rating'] >= min_rating:
        matching_movies.append(movie)

# 返回所有符合条件的电影列表
return matching_movies
```

该代码使用 for 循环迭代电影数据，并对每部电影进行逐一筛选，只有当电影演员中包含 Tom Hanks、导演是 Steven Spielberg、类型为战争或历史之一，并且评分大于等于 8.0 时，才将其添加到匹配电影列表 matching_movies 中，最后将所有符合条件的电影返回。