python回忆
一.输入函数input()
这个就是直接使用input()就行不需要导入其他的库函数
例如:

二.分割函数split("")
这个也不需要导入什么库
例如这个:
点击查看代码
str1=input()
#使用split()将字符串生成列表
list1=str1.split(" ")

三.字符串截取函数[x:y]
截取b字符串下标从x到y的字符串a=b[x,y]
例如:

四.列表的应用及内置函数
1.定义列表
定义一个空的列表 list=[]
或者
list1 = ["Hello","Python","你好"]
list2 = [1,2,3,4,5]
列表中是可以存放字典的
例如:
data=[{'city':'北京','temperature':100},
{'city':'上海','temperature':60},
{'city':'深圳','temperature':30}]
2.列表的访问
可以直接下标访问list2[0],或者循环访问
3.列表的循环
点击查看代码
str1 = input()
# 使用split()将字符串生成列表
list1 = str1.split(" ")
list2 = []
for i in list1:
i = int(i)
list2.append(i)
print(list2)

4.append函数
列表追加函数
list.append('要追加的值') 加在最后 (只要是列表允许的类型就可以)
例如:
点击查看代码
list=[]
list.append(1)
list.append(2)
print(list)
输入
[1, 2]

5.count函数
list.count('str') 查找str出现的次数

6.pop函数
list.pop(n) n表示移除列表的第n个元素,n没有时默认为移除列表最后一个
pop返回值是被移除的元素,并且列表真的会被改变

7.insert
list.insert(n,str) n表示在第n个位置插入,str表示插入的内容
8.remove
list.remove(str) 移除第一个匹配str的元素,没有返回值
9.reverse
list.reverse() 将列表内容倒序
没有返回值,直接进行修改
10.sort
list.sort() 将列表里的内容从小到大排序
list.sort(reverse = True) 将列表里的内容从大到小排序

11.len统计个数
len(list)统计列表个数
点击查看代码
list=input().split(" ")
print(len(list))
12.二维列表
点击查看代码
list1=[1,2,3,4]
list2=['h','k','p']
list3=[]
list3.append(list1)
list3.append(list2)
print(list3)

三.range函数
for p in range(i,j,k):就是从i到j,间隔k个访问
点击查看代码
for i in range(1,20,2):
print(i)
结果为
2
4
6
8
10
12
14
16
18
print(i)

四.元组tuple
元组是有序且不可更改的集合。在Python中,元组使用圆括号 () 编写的。
1.创建
三种方式
(1)使用 () 创建元组(注意只有一个元素的时候需要在那个元素后面加上,如果tuple_2 = (20,))
例如
t=(1,2,3)
print(t)
(2)使用tuple()函数创建元组
点击查看代码
cre_tuple = tuple(('a', 'b', 'c')) # 注意双括号
print(cre_tuple)
print(type(cre_tuple))
2.访问元组
(1) 下标索引访问
可以直接t[0],t[1]访问
tuple_1 = ('wzq', 'lgl', 'gz', 'whl', 'sj', 'hxw')
print(tuple_1[0])
print(tuple_1[-1])
wzq
hxw
正向索引:从第一个(下标0)开始、第二个(下标1)…
反向索引:从倒数第一个(下标-1)、倒数第二个(下标-2)…
(2)切片访问
使用切片访问元组的格式为 tuple_1[strat : end : step] ,其中,start 表示起始索引,end 表示结束索引,step 表示步长。注意是end-1
tuple_name = (0,1,2,3,4,5,6)
print(tuple_name[1:5:2])
print(tuple_name[-6:-1:3])
(1, 3)
(1, 4)
(3) for 循环遍历元组
tuple_name = (0,1,2,3,4,5,6)
for i in tuple_name:
print(i)
0
1
2
3
4
5
6
3.改变元组的值
创建元组后,我们将无法更改其值。元组是不可变的,或者也被称为恒定的。
但是有一种解决方法:可以先将元组转换为列表,更改列表值,然后再将其转换回元组。
tuple_number=(1,2,3,4,5)
list_number=list(tuple_number)
list_number[2]=9
tuple_number=tuple(list_number)
print(tuple_number)
(1, 2, 9, 4, 5)
4.元组连接(合并)/复制
可以用+,-,*
5.转化为元组
(1)列表转化为元组
list_number=[1,2,3,4]
tuple_number=tuple(list_number)
print(tuple_number)
(2)将字典转换为元组
dict1 = {'name': 'Python', 'age': '12'}
print(tuple(dict1))
('name', 'age')
(3)将集合转换为元组
set1 = {'Hello', 'Python', 'name', 'pink'}
print(tuple(set1))
('Hello', 'name', 'Python', 'pink')
6.元组元素最大/小值 max()、min()
tup1 = (4, 6, 2, 0, -5)
print(max(tup1))
print(min(tup1))
tup2 = ('a', 'z', 'A', 'Z')
print(max(tup2))
print(min(tup2))
6
-5
z
A
7.内置方法
count() 返回元组中指定值出现的次数
index() 在元组中搜索指定的值并返回它被找到的位置
五 字典类型
程序既可使用花括号语法来创建字典,也可使用 dict() 函数来创建字典。实际上,dict 是一种类型,它就是 Python 中的字典类型。
在使用花括号语法创建字典时,花括号中应包含多个 key-value 对,key 与 value 之间用英文冒号隔开;多个 key-value 对之间用英文逗号隔开。
5.1 创建
(1)直接用花括号{}
dict1 = {'name': 'lihua', 'age': '12'}
print(dict1)
或者可以使用元组做为字典的key
# 使用元组作为dict的key
dict2 = {(20, 30):'good', 30:'bad'}
print(dict2)
(2)另一种创建字典的方法是使用dict()构造函数:
my_dict = dict(key1='value1', key2='value2')
print(my_dict)
my_dict = dict(key1='value1', key2='value2')
print(my_dict)
5.2 访问字典中的值
(1)可以使用方括号[]来访问字典中的值,键唯一且不可变。如果给定的键不存在,则会引发KeyError异常
my_dict = {'name': 'Alice', 'age': 30, 'gender': 'female'}
print(my_dict['name']) # 输出 'Alice'
print(my_dict['age']) # 输出 30
print(my_dict['height']) # 引发 KeyError 异常
(2)可以使用get()方法访问字典中的值。如果给定的键不存在,则返回指定的默认值(默认为None)。(2)可以使用get()方法访问字典中的值。如果给定的键不存在,则返回指定的默认值(默认为None)。
print(my_dict.get('name')) # 输出 'Alice'
print(my_dict.get('height')) # 输出 None
print(my_dict.get('height', 0)) # 输出 0,因为指定了默认值
(3)循环访问
这个要用dict.items
my_dict = {'name': 'Alice', 'age': 30, 'gender': 'female'}
for kay,value in my_dict.items():
print(kay,value)
name Alice
age 30
gender female
5.3 添加和修改键值对
(1)可以使用方括号[]来添加或修改字典中的键值对。
my_dict = {'name': 'Alice', 'age': 30, 'gender': 'female'}
my_dict['heigh'] = 180 #添加
my_dict['age']=20 #修改
print(my_dict)
可以使用update()方法将一个字典的键值对添加到另一个字典中。
my_dict1 = {'name': 'Alice', 'age': 30}
my_dict2 = {'gender': 'female', 'height': 170}
my_dict1.update(my_dict2)
print(my_dict1)
# 输出 {'name': 'Alice', 'age': 30, 'gender': 'female', 'height': 170}
5.4 删除键值对
(1)可以使用del关键字删除字典中的键值对。
my_dict = {'name': 'Alice', 'age': 30, 'gender': 'female'}
del my_dict['age']
print(my_dict)
{'name': 'Alice', 'gender': 'female'}
(2)可以使用pop()方法删除字典中的键值对,并返回删除的值。如果指定的键不存在,则返回指定的默认值(默认为None)。
my_dict = {'name': 'Alice', 'age': 30}
name = my_dict.pop('name')
height = my_dict.pop('height', 0)
print(name) # 输出 'Alice'
print(height) # 输出 0,因为指定了默认值
print(my_dict) # 输出 {'age': 30}
字典中key和value都可以是个列表
例如:
result_dict = {
'Allen': ['red', 'blue', 'yellow'],
'Tom': ['green', 'white', 'blue'],
'Andy': ['black', 'pink']
}
for m, n in sorted(result_dict.items()):
print("%s's favorite colors are:" % m)
for o in n:
print(o)
Allen's favorite colors are:
red
blue
yellow
Andy's favorite colors are:
black
pink
Tom's favorite colors are:
green
white
blue
如果想要正序或者倒序输入的话:
list=[4,3,2,2,1]
for i in sorted(list):
print(i)
6.zip函数(打包函数)
Python 的 zip() 函数创建了一个迭代器,它将聚合来自两个或多个可迭代对象的元素
例如:
a=[1,2,3]
b=['a','b','c']
zipped=list(zip(a,b))
zipped1=dict(zip(a,b))
print(zipped)
print(zipped1)
[(1, 'a'), (2, 'b'), (3, 'c')]
{1: 'a', 2: 'b', 3: 'c'}
这里注意,只打包完之后不能直接输出,必须要转化成其他类型才能输出例如转化成list,dict
传递长度不等的参数
当您使用 Python zip() 函数时,请务必注意迭代的长度。您作为参数传入的可迭代对象的长度可能不同。
在这些情况下, zip() 输出的元素数量将等于最短迭代的长度。 zip() 将完全忽略任何不再可迭代的元素中的剩余元素,如您在此处看到的:
list(zip(range(5), range(100)))
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]
7.输出
下面我们来看一些例子
print(1,2,3,4,5,sep=':')
1:2:3:4:5
print(1,2,3,4,5,sep=';')
1;2;3;4;5
print(1,2,3,4,5,sep='/')
1/2/3/4/5
#总结:sep=''单引号里是什么符号,输出结果之间的逗号就变为什么符号
print(1,2,3,4,5,end=';') 输出:1 2 3 4 5;
print(1,2,3,4,5,end=':') 输出:1 2 3 4 5:
print(1,2,3,4,5,end='/') 输出:1 2 3 4 5/
#总结:end=''单引号里是什么符号,输出结果的最后就什么符号
例如:
a=[1,2,3]
for i in a:
print(i,end=' ')
8 value_counts()
value_counts(values,sort=True, ascending=False, normalize=False,bins=None,dropna=True)
sort=True: 是否要进行排序;默认进行排序
ascending=False: 默认降序排列;
normalize=False: 是否要对计算结果进行标准化并显示标准化后的结果,默认是False。
bins=None: 可以自定义分组区间,默认是否;
dropna=True:是否删除缺失值nan,默认删除
具体看这个链接
np.triu
np.triu(a,k=0)
这a可以是个shape,也可以是一个ndarray.
如果是一个ndarray的话就是将这个矩阵变成对角矩阵。
这个k可以取值0,1,-1,0是对角矩阵,然后1是对角线和下半部分变成0矩阵
然后-1是对角线和上半部分都变成0矩阵。
生成对角矩阵
import numpy as np
a=np.triu(np.ones((3,3)), k=0)
print(a)
这个就是

import numpy as np
a=np.triu(np.ones((4,4)), k=-1)
b=np.triu(np.ones((4,4)), k=0)
c=np.triu(np.ones((4,4)), k=1)
print(a)
print(b)
print(c)

输出f''和str.format()
x=10
print(f'{x:f} and {x:d}')
print('x是{}'.format(x))


浙公网安备 33010602011771号