AI小组python学习笔记

101 阅读3分钟
耿舒涵
  1. 初始化矩阵可使用 [[0]*n for _ in range(n)]建立一个n行n列的矩阵;

  2. 字符串分割函数调用,map(int, input().split()) 将输入的字符串转换为列表:

  3. input().split()input() 函数获取输入,返回一个字符串。split() 方法将这个字符串按照空格分割成一个列表,每个元素都是一个子字符串。split函数默认以空格分割,也可传入参数以指定字符分割,返回列表。

  4. map(int, ...)map() 函数接收两个参数,第一个参数是转换函数(在这里是 int,表示将字符串转换为整数),第二个参数是需要转换的可迭代对象(在这里是上一步得到的字符串列表)。map() 函数会将 int 函数应用到列表的每一个元素上,从而将字符串列表转换为整数列表。

  5. list(map(...))map() 函数返回一个迭代器,为了得到实际的列表,则会使用 list(map(...))

例:若输入 "1 2 3 4 5",那么 input().split() 返回 ['1', '2', '3', '4', '5'],然后 map(int, ...) 会将这个列表转换为 ['1', '2', '3', '4', '5'],最后 list(map(...)) 会返回 [1, 2, 3, 4, 5]

  1. eval() 函数:对于一个字符串形式的表达式,并且想在运行时动态地计算这个表达式的结果时使用。例如字符串 "2 + 3 * 4",在运行时计算这个表达式的值,则使用 eval()函数。为了避免安全问题,通常建议使用更安全的替代方法,比如 ast.literal_eval(),它只安全地求值字面量表达式(如字符串、数字、元组、列表、字典等),而不执行任意代码。

  2. 数据类型概述:内置NumberStringListTupleSetDictionary

  3. 字符串转换整数:int('35',8)第一个参数为字符,第二个参数为转化成八进制整数。元组与列表类似,但元素不能被修改。

  4. 字符串分割str.split() s = "Hello, World!" words = s.split(", ") # 分割成 ['Hello', 'World!'] print(words)

  5. 字符串切片s[start:end:stride]

start:切片的起始索引(包含),即从哪里开始切片。

end:切片的结束索引(不包含),即切片到哪里结束。

stride:步长

  a = "Hello, World!"
  substring = a[7:12]  # 提取从索引 7 到索引 12 的字符,不包括索引 12
  print(substring)  # 输出:World
  
  substring = a[:5]  # 从索引 0 到索引 5,不包括索引 5
  print(substring)  # 输出:Hello
  
  substring = a[7:]  # 从索引 7 到字符串末尾
  print(substring)  # 输出:World!
  
  substring = a[::2]  # 每隔 2 个字符取一个字符
  print(substring)  # 输出:Hlo ol!

8. 截取指定的单一字符:split[idx]

  1. global 关键字: 用于在函数内部声明一个变量为全局变量。 ` x = 10 # 全局变量

    def modify_global(): global x # 声明 x 为全局变量 x = 20 # 修改全局变量的值

    modify_global() print(x) # 输出:20`

  2. nonlocal 关键字:用于在嵌套函数中声明一个变量为外部(但非全局)作用域中的变量。与 global 关键字不同,nonlocal 关键字允许在嵌套函数中修改外层函数中的局部变量,而不需要使用全局变量。

  3. lambda 匿名函数:也称为“lambda 表达式”。一种定义简单的函数的简介方式,通常用于需要一个简单函数但不想用 def 关键字定义完整函数体的情况。

lambda 函数只能包含一个表达式,不能包含多条语句。且一定程度上降低代码可读性

  add = lambda x, y: x + y
  print(add(2, 3))  # 输出:5
  
  
  numbers = [1, 2, 3, 4, 5]
  squared = list(map(lambda x: x ** 2, numbers))
  print(squared)  # 输出:[1, 4, 9, 16, 25]
  
  
  points = [(1, 2), (3, 1), (5, 0)]
  points.sort(key=lambda x: x[1])
  print(points)  # 输出:[(5, 0), (3, 1), (1, 2)]