f(2) 列表l指向[0,1] f(3,[3,2,1]) 新的列表变量指向[3,2,1] f(3) 列表l仍然指向原l=[0,1]
输出结果:
[0, 1] [3,2,1,0,1,4] [0,1,0,1,4]解答:可以使用enumarate(iterable, start_index)函数
def print_all(*args): """ 请完成当前函数,要求输出格式如下,最好在一行内完成 1.apple 2.banana 3.cabbage """ [print(f'{x}.{y}') for x, y in enumerate(args, 1)] print_all('apple','banana', 'cabbage')解答:
import time from functools import wraps def cost(f): @wraps(f) def inner(*args, **kwargs): start = time.time() f(*args, **kwargs) print(time.time() - start) return inner @cost def foo(i): print('{}*{}={}'.format(i, i, i * i)) foo(2)数据表: scores
+----+--------+-------+-------+ | id | name | score | class | +----+--------+-------+-------+ | 1 | 张三 | 80 | 1班 | | 2 | 李四 | 86 | 2班 | | 3 | 王五 | 88 | 1班 | | 4 | 赵六 | 70 | 2班 | | 5 | 周七 | 60 | 3班 | | 6 | 钱八 | 90 | 3班 | +----+--------+-------+-------+得到结果示例:
+----+--------+-------+-------+ | id | name | score | class | +----+--------+-------+-------+ | 3 | 王五 | 88 | 1班 | | 2 | 李四 | 86 | 2班 | | 6 | 钱八 | 90 | 3班 | +----+--------+-------+-------+查询语句:
select s1.id,s1.name,s1.score,s1.class from scores as s1 INNER JOIN (select max(score) as score,class as class from scores GROUP BY class) as s2 on s1.score=s2.score and s1.class=s2.class ORDER BY class;