python学习 Day03

    技术2025-06-20  6

    python学习 Day03

    列表,像是功能更强的数组

    # author: Cao Zhanxiang # time: 2020/7/4 # function: 列表 # 列表 # 可读可写,类似于C的数组,只不过元素类型可以不完全相同(这也和python的内存储存机制有关) list1 = [1, "a", 3, 'b'] print(list1) print(list1[1]) print(list1[0: -1]) # 可以更改 list1[1] = 2 print(list1) # 可以通过append()函数增加元素 list1.append(2) print(list1) # 删除元素,del删除下标元素 del list1[3] print(list1) # 删除元素,remove删除指定元素内容,但不是所有该元素内容,而是第一个该元素 list1.remove(2) print(list1) # list还有许多函数,插入,清空,计数,方向,排序等等,编译器联想会告诉你具体的函数名 # 同样的,列表也有对+,*的重载 list2 = [4, 5] print(list1 + list2) print(list1 * 2) # 还可以通过列表迭代 for i in [1, 'a', 2, 'b']: print(i) # 另外列表的元素也可以是个列表,就和高维数组相似 list3 = [list1, list2] print(list3) print(list3[1]) print(list3[0][1]) # 列表推导式 # [表达式 for 变量 in 列表] list4 = [i for i in range(0, 10)] print(list4) list5 = [q ** 2 for q in list4] print(list5) # [表达式 for 变量 in 列表 if 条件] list6 = [q ** 2 for q in list4 if q % 2 == 0] print(list6) # 也可以推导出二维数组 list7 = [[i * k for i in range(3)] for k in range(3)] # range默认起始为0 print(list7) # 这可以很方便地写出矩阵乘法的代码 # 切片输出详解 # 注意[start: end: step] # 区间为[start, end) # step为步长,正数为正向,负数为反向,step缺省值为1 list8 = [0, 1, 2, 3, 4, 5] # 当step > 0时,start缺省值为0,end缺省值为len() + 1 print(list8[0: len(list8) + 1: 1]) print(list8[::]) # 当step < 0时,start缺省值为-1. end缺省值为-len() - 1 # 所以[: : -1]相当于 a[-1: -len() - 1: -1],也就是从最后一个元素到第一个元素复制一遍,即倒序 print(list8[-1: -len(list8) - 1: -1]) print(list8[:: -1]) # 再多说一句,list.reverse()也可以将列表反向,但会直接改变列表 list8.reverse() print(list8)

    昨天忘记发布了。。。

    Processed: 0.017, SQL: 9