1. 元组是什么

元组Tuple是 Python 中的一种内置数据类型,用于存储多个元素。与列表(List)不同的是,元组是不可变的(immutable),这意味着一旦创建了元组,就不能修改它的内容(例如添加、删除或更改元素)。


2. 什么是函数

函数Function是编程中一个非常重要的概念,它是一段可重复使用的代码块,用于完成特定的任务。


3. 什么是参数

参数Parameter 是函数定义时用来接收外部输入值的变量。它允许你将数据传递给函数,使函数可以根据不同的输入执行不同的操作。


4. 什么是形参,什么是实参

形参是在函数定义时声明的变量,用于接收外部传入的数据,作为函数内部使用的占位符,在函数被调用时会被实参替换。而实参是在调用函数时实际传递给函数的具体值或变量。


5. 函数如何返回值

通过 return 语句将结果返回


6. 将99乘法表制作为函数,要求有2个参数,两个参数分别控制乘法表的最大乘数和最大被乘数。

def pattern(n,m):
    for i in range(1,n+1):
        for j in range(1,m+1):
            if i < j:
                continue
            print(f"{j}*{i}={i*j}", end=" ")
        print()

pattern(9,9)


7. input是如何使用的?试着使用input输出参数传递给99乘法表的函数

input() 是 Python 中用于从用户输入获取数据的内置函数。它会暂停程序执行,等待用户在控制台中输入一行文本,并按下回车键后继续执行,同时,获取到的是字符串。

num1 = input("请输入乘数:")
num2 = input("请输入被乘数:")

rows = int(num1)
cols = int(num2)

def pattern(n,m):
    for i in range(1,n+1):
        for j in range(1,m+1):
            if i < j:
                continue
            print(f"{j}*{i}={i*j}", end=" ")
        print()

pattern(rows,cols)


8. 默认print会自动换行,如何让print不自动换行

在最后加入,end=""


9. 打印列表时,如何倒序打印,就是先输出字典最后一位,最后输出字典的第一位

用::-1

my_list = [1, 2, 3, 4, 5]

# 倒序打印列表
for item in my_list[::-1]:
    print(item)


10. 如何列表进行去重

使用set()

my_list = [1, 2, 2, 3, 4, 4, 5]
unique_list = list(set(my_list))
print(unique_list)  # 输出可能是 [1, 2, 3, 4, 5](顺序不保证)


11. 单个下划线是否可以作为变量名称,什么情况下会使用这种方式

可以作为变量名,主要在临时变量中用这种方式


12. 比如列表为['小明',18,'BeiJing'],如何快速为每个元素单独设置变量名

name, age, city = data:将列表中的每个元素依次赋值给对应的变量。


13. 什么是深拷贝,什么是浅拷贝,什么情况下使用

浅拷贝会创建一个新对象,但只复制原始对象中元素的引用(即第一层复制),如果原对象包含嵌套对象(如列表中的列表),这些嵌套对象不会被复制,而是共享引用。

深拷贝会递归地复制对象及其所有嵌套对象,生成一个完全独立的新对象。


14. 列表是有序的还是无需的

在 Python 中,列表List是有序的ordered且可变的mutable数据结构。


15. 字典是有序的还是无需的

从 Python 3.7 开始,字典默认保持插入顺序,在 Python 3.6 及更早版本中,字典是无序的。


16. 集合是什么

在 Python 中,集合Set 是一种无序且不重复的可变数据结构。它主要用于存储一组唯一的元素,并支持高效的成员检查、交集、并集、差集等数学操作。


17. 列表、字典、集合、元组的区别是什么,做表格进行对比。在什么场景下使用

特性

列表 (list)

字典 (dict)

集合 (set)

元组 (tuple)

有序性

✅ 是(Python 3.7+)

✅ 是(插入顺序保留)

❌ 否(无序)

✅ 是

可变性

✅ 可变

✅ 可变

✅ 可变(set)<br>❌ 不可变(frozenset

❌ 不可变

元素唯一性

❌ 否

❌ 否(键唯一)

✅ 是

❌ 否

访问方式

索引

键(key)

不支持索引

索引

是否可哈希

❌ 否

❌ 否

❌ 否(set不可哈希)<br>✅ frozenset可哈希

✅ 是(不可变时)

是否允许重复元素

✅ 是

❌ 否(键不能重复)

❌ 否

✅ 是

性能特点

动态数组,适合增删改查

哈希表,查找快

哈希实现,去重高效

固定结构,适合只读操作

语法定义

[1, 2, 3]

{'a': 1, 'b': 2}

{1, 2, 3}

(1, 2, 3)

典型用途

存储多个值,需顺序控制

存储键值对,快速查找

去重、集合运算(交并差)

数据保护、作为字典键或函数参数

1. 列表(list

  • 需要存储一组有序元素。

  • 需要频繁添加/删除元素(如尾部操作效率高)。

  • 需要去重但保留顺序:推荐使用 dict.fromkeys()

2. 字典(dict

  • 存储键值对映射关系(如配置、状态管理)。

  • 快速通过键查找值。

  • 插入顺序重要(Python 3.7+)。

3. 集合(set

  • 去重:比 list 更高效。

  • 集合运算:交集(&)、并集(|)、差集(-)等。

  • 成员检查:x in slist 快得多。

4. 元组(tuple

  • 存储固定不变的数据(如坐标、日期)。

  • 作为字典的键(因为是不可变的)。

  • 函数返回多个值(自动打包为元组)。

8. 列表、字典、集合、元组的增删改查,怎么操作

1.列表

操作

方法

示例

append(), insert(), extend()

my_list.append(10)

pop(), remove(), del, clear()

my_list.pop(1)

索引赋值

my_list[0] = 'new'

索引访问、切片、in

my_list[2], 'a' in my_list

2.字典

操作

方法

示例

添加新键或使用 update()

d['new_key'] = 'value'

pop(), del, clear()

d.pop('key')

修改已有键的值

d['key'] = 'new_value'

使用键访问或 get()

d.get('key', '默认值')

3.集合

操作

方法

示例

add(), update()

s.add(10)

remove(), discard(), clear()

s.remove(10)

不支持直接修改,需先删除再添加

-

in 判断成员

10 in s

4.元组

操作

方法

示例

不可变,不能增删改

不可变,不能删除

不可变,不能修改

索引访问、解包、in

t[0], x, y = t




以他人的幸福为幸福,以他人的享乐为享乐。