文章目录
前言
从五月一日开始,研究生的实验室团队要求新生每周进行学习,并在周末提交自己的学习总结。学习的主要内容从python基础到机器学习到深度学习到pytorch框架,最后是一些经典网络的复现。虽然在大学期间已经学过很多次python,但是学了忘,所以还是按照流程,过一遍python的语法,以下会总结以前没有注意到一些知识点,方便以后自己查阅。学习的书籍是《python编程从入门到实践第二版》
一、字符串的格式化输出方式
如果想在字符串中插入变量的值,在字符串引号前输入f,然后在字符串中{}里输入变量即可。
str_1 = "deng"
result = f"hello,{str_1}"
print(result)
得到的结果是
hello,deng
但是如果想实现特定小数位数的格式化输出,还是使用format更好,更全面。
上面的例子,如果使用format方法的话
str_1 = "deng"
result = "hello,{name}".format(name = str_1)
print(result)
结果
hello,deng
可以理解为占位符,name是一个占位符,在format方法内,再指定name这个占位符的内容。
如果我想同时在字符串中使用变量,格式化输出浮点数
str_2 = "deng"
result = "hello,{name:s} is {data:.2f}".format(name = str_2,data = num)
print(result)
得到的结果是
hello,deng is 3.14
例子中使用了str_2变量,同时也将浮点数保留2位小数输出。
总结以下format的用法,在{}内,使用占位符,并且可以加:然后再输入数据类型,字符串为s,浮点数为f。
二、列表
1.列表的索引
从头到尾索引下标从0开始
list_a = [1,2,3,4,5]
list_a[0]
得到的结果是
1
也可以从尾到头索引,从-1开始
list_a[-5]
得到的结果是
1
2.修改列表元素的值
首先索引到该元素,然后另其等于另一个值就行
list_a[0] = 100
打印list_a的值
list_a
[100, 2, 3, 4, 5]
3.增加列表元素的值
list.append()方法
添加一个值到列表的末尾
list_a.append(50)
得到结果如下
list_a
[100, 2, 3, 4, 5, 50]
list.insert()方法
插入一个值在索引之前
list_a.insert(0,-1)
得到的结果如下
list_a
[-1, 100, 2, 3, 4, 5, 50]
4.删除列表元素的值
list.pop()方法
删除某个索引的值,并返回该值,默认为-1
num = list_a.pop(-2)
结果如下
num
5
list_a
[-1, 100, 2, 3, 4, 50]
list.remove()方法
删除一个出现的这个值
list_a.remove(2)
结果为
list_a
[-1, 100, 3, 4, 50]
5.关于列表的sort,sorted函数
sort()是列表的一个方法,任何列表都可以使用
当一个列表调用该方法后,这个列表会被改变,没有返回值
a = [5,4,3,2,1]
a.sort()
a
结果为
[1, 2, 3, 4, 5]
sorted不是列表独有的方法,是一个内置函数,所有的可迭代对象都可以使用该内置函数。会返回一个排序之后对象,原对象不变。
b = [5,4,3,2,1]
c = sorted(b)
可以发现b的值不变
b
[5, 4, 3, 2, 1]
c是b排序之后的列表
c
[1, 2, 3, 4, 5]
6.列表解析式(列表推导式)
可以理解为优雅的生产列表,一行代码生成所需列表。
d = [value**2 for value in range(1,11) if value%2==0]
得到的结果是
[4, 16, 36, 64, 100]
7.复制列表存在的问题
复制列表的第一种方式
a = [1,2,3]
b = a
这种实际上是将b关联到了a,对列表做操作,a,b都会同时发生变化
复制列表的第二种方式
c = a[:]
这种复制方式将a的副本关联到了c,a和c之间没有关系了
验证以下,分别对a,c执行操作,得到的结果是不一样的
a.append(100)
c.append(200)
a
[1, 2, 3, 100]
c
[1, 2, 3, 200]