python编程要求:列表[ 'apple 10' , ' banana 3' , ' grape 15' , ' orange 5' , ' cherry 30' , ' blueberry 25']中,每个元素代表了某种水果及其价格,例如'grape 15'表示grape的单价为15;找出单价大于15元的所有水果。
时间: 2023-06-04 09:08:22 浏览: 94
可以使用Python中的列表解析(List comprehension)来实现:
```
fruits = ['apple 10', 'banana 3', 'grape 15', 'orange 5', 'cherry 30', 'blueberry 25']
expensive_fruits = [fruit.split()[0] for fruit in fruits if int(fruit.split()[1]) > 15]
print(expensive_fruits)
```
运行结果为:
```
['grape', 'cherry', 'blueberry']
```
解释一下代码:
首先定义一个包含所有水果和价格的列表 `fruits`,然后使用列表解析来筛选出单价大于15元的水果名称,存储在列表 `expensive_fruits` 中。
列表解析的语法为 `[expression for item in iterable if condition]`,其中 `expression` 表示每个元素的计算方式,`item` 是可迭代对象中的每个元素,`iterable` 是可迭代对象,`condition` 是筛选条件。
在这个例子中,`expression` 是 `fruit.split()[0]`,表示按空格拆分每个元素,并取第一个元素(即水果名称)。`item` 是 `fruit`,表示 `fruits` 列表中的每个元素。`iterable` 是 `fruits` 列表本身。`condition` 是 `int(fruit.split()[1]) > 15`,表示水果的单价必须大于15元。
最后使用 `print(expensive_fruits)` 将筛选结果输出。
阅读全文