练习1级 - 基础回顾知识点 略 -
countries = ['Estonia', 'Finland', 'Sweden', 'Denmark', 'Norway', 'Iceland']
def change_upper(country):
return country.upper()
upper_countries = list(map(change_upper, countries))
print(upper_countries)
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def calculate_square(num):
return num * num
squares = list(map(calculate_square, numbers))
print(squares)
names = ['Asabeneh', 'Lidiya', 'Ermias', 'Abraham']
upper_names = map(lambda name: name.upper(), names)
print(list(upper_names))
countries = ['Estonia', 'Finland', 'Sweden', 'Denmark', 'Norway', 'Iceland']
filter_countries = filter(lambda name: 'land' not in name, countries)
list_country = list(filter_countries)
print("原国家数据:", countries)
print("去除含land的数据:", list_country)
countries = ['Estonia', 'Finland', 'Sweden', 'Denmark', 'Norway', 'Iceland']
def len_six(country):
if len(country) == 6:
return True
return False
six_countries = filter(len_six, countries)
print("长度等于6的新列表:", list(six_countries))
countries = ['Estonia', 'Finland', 'Sweden', 'Denmark', 'Norway', 'Iceland']
more_six_list = list(filter(lambda c: len(c)>6, countries))
print("字符大于6的国家:",more_six_list)
countries = ['Estonia', 'Finland', 'Sweden', 'Denmark', 'Norway', 'Iceland']
def start_e(country):
if country.startswith('E'):
return True
return False
e_countries = filter(start_e, countries)
print("字符E开头的国:", list(e_countries))
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def map_square(num):
return num ** 2
def filter_even(num):
if num % 2 == 0:
return True
return False
chain = filter(filter_even, list(map(map_square, numbers)))
print("连续使用多个高阶内置函数:", list(chain))
def get_string_lists(item):
if type(item) is str:
return True
return False
print("过滤字符串列表:", list(filter(get_string_lists, [1, "Maga", "2", 3, "Qi", 4])))
from functools import reduce
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print("列表求和:", reduce(lambda x, y: x+y, numbers))
from functools import reduce
countries = ['Estonia', 'Finland', 'Sweden', 'Denmark', 'Norway', 'Iceland']
def join_country(c1, c2):
return f'{c1}、{c2}'
link_country = reduce(join_country, countries) + ' is Nordic countries'
print("集合国家:", link_country)
import os
import json
path_data = os.getcwd() + "\data\countries_data.json" # 配置数据文件路径
with open(path_data, mode='r') as f: # 打开文件并用json加载数据
countries = json.load(f)
# print(sorted(countries, key=lambda item: item['name'], reverse=True)) # 利用内置高阶函数sorted根据每一项单按名字排序
print(sorted(countries, key=lambda c: (c['name'], c['capital'], c['population']))) # 多关键词依次排序
population_sort = sorted(countries, key=lambda item: item['population'], reverse=True) # 先按人口关键词大-小排序
print("人口最多前十国家:",[country["name"] for country in population_sort[:10]]) # 分片取出前十,再用列表推导式取出国家名字