Python 学习笔记4

2022/5/6 9:13:01

本文主要是介绍Python 学习笔记4,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Python 学习笔记

插入操作

list.insert(index,value)

在index前插入value,其他元素向后移动

搭配list.index(value)寻找下标一起使用

关于列表

list1=list2

列表赋值的本质是将列表的地址赋给另一个变量,也就是说list1和list2指向同一个地址,也就是说对于list1的任何一个操作list2一样受影响(del除外)

del本质上是删除这个指针的指向,回收该变量名,但并不涉及内容,也就是说

list1=list2
del list2
print(list1)

在此操作中,list1依然能打印出list2的内容

排序和翻转

list.sort()

默认按照递增顺序进行排序,可以通过更改reverse参数

True为递减,False为递增
list.sort(reverse=True)改为递减顺序


list.reverse()

将列表内所有内容反转

赋值操作

a=b
b=c
c=a

可简化为

a,b,c=b,c,a

列表嵌套

类比多维数组即可

列表推导式

# in后面跟其他可迭代对象,如字符串
list_c = [7 * c for c in "python"]
print(list_c)
 
# 带if条件语句的列表推导式
list_d = [d for d in range(6) if d % 2 != 0]
print(list_d)
 
# 多个for循环
list_e = [(e, f * f) for e in range(3) for f in range(5, 15, 5)]
print(list_e)
 
# 嵌套列表推导式,多个并列条件
list_g = [[x for x in range(g - 3, g)] for g in range(22) if g % 3 == 0 and g != 0]
print(list_g)

运行结果

['ppppppp', 'yyyyyyy', 'ttttttt', 'hhhhhhh', 'ooooooo', 'nnnnnnn']
[1, 3, 5]
[(0, 25), (0, 100), (1, 25), (1, 100), (2, 25), (2, 100)]
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], [12, 13, 14], [15, 16, 17], [18, 19, 20]]
  1. 列表推导式会遍历后面的可迭代对象,然后按照for前的表达式进行运算,生成最终的列表.

  2. 如果有if条件语句,for遍历后紧跟着进行条件判断.

  3. 如果有多个for循环,则最终的数据数量为多个for循环的笛卡尔积,既任意的一个成员对加上任意另一个成员.

  4. 可以进行嵌套的列表推导,与嵌套for循环的原理相同.

列表的copy方法

copy模块提供了浅复制和深复制两种方式

浅拷贝

浅拷贝是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝内容,类比直接等于。

import copy

words1 = ['hello', 'good', ['yes', 'ok'], 'bad']

# 浅拷贝只会拷贝最外层的对象,里面的数据不会拷贝,而是直接指向
words2 = copy.copy(words1)

words2[0] = '你好'
words2[2][0] = 'no'

print(words1)  # ['hello', 'good', ['no', 'ok'], 'bad']
# wrods2 里的 yes 被修改成了 no
print(words2)  # ['你好', 'good', ['no', 'ok'], 'bad']

深拷贝

相当于重新创建了一个与原对象内容一样的对象

import copy

words1 = ['hello', 'good', ['yes', 'ok'], 'bad']

# 深拷贝会将对象里的所有数据都进行拷贝
words2 = copy.deepcopy(words1)

words2[0] = '你好'
words2[2][0] = 'no'

print(words1)  # ['hello', 'good', ['yes', 'ok'], 'bad']
print(words2)  # ['你好', 'good', ['no', 'ok'], 'bad']

切片

列表和字符串一样,也支持切片,切片其实就是一种浅拷贝。

元组tuple

和列表相似,但是元组的元素不能够修改,相对于列表,元组使用()
除了修改删除相关函数以外,其他的函数和列表使用方式相同

注意

当要创造只有一个元素的元组时,必须要在元素后加上逗号 如t1 = ('a',)

index(obj,begin,end)函数可以有三个参数,其中从begin开始,到end-1结束,即左闭右开区间

list 和 tuple 可以相互转化 直接使用list(tuple)tuple(list)进行转化



这篇关于Python 学习笔记4的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程