趁这个周末的时间整理了下之前学习的一些python 基础部分内容,作为一个复习。内容较长分为了几个部分,本文代码在Jupyter Notebook中运行。
'''
Python
1.变量常用的数据类型:int,float,str(可用''/""/''''''),bool,none. 用type()来判断变量类型
2.变量命名原则:数字/字母/下划线/中文
注意:使用变量前要先声明变量,通过=赋值的形式声明;
python大小写敏感;
命名不能以数字开头且其内不能有空格;
不能用内置关键字及函数命名。
3.基本运算:/除 %取模(返回余数) //取整 **幂
注意:在字符串中的一些基本运算的含义:+表示连接两字符串 *表示重复
4.比较运算:== != > < >= <= 结果为bool类型
5.注释:单行:# 多行''' '''
'''
列表(list)特性及常见操作:
#list[]列表 列表顺序从0开始
#特性:可包含任意数据类型对象
m = [1,1.1,"a",[1,2],(4,5)]
print(m)
#通过下标索引访问值
print(m[-1])
#可原位改变
m[0]=0
print(m)
#长度可改变,增加删除元素
#append——增加一个元素
m.append('f')
print(m)
#在指定位置增加元素,嵌入
m.insert(1,'opq')
print(m)
#extend——增加多个元素
m.extend('bcde')
print(m)
m.extend([9,8,7,6])
print(m)
#remove——删除一个元素 有重复的删除第一个
m.remove(0)
print(m)
#删除指定位置元素 左开右闭
del m[1:3]
print(m)
#弹出列表中指定位置中元素 将该元素赋值给a
a = n.pop(2)
print(a)
print(n)
#后续继续使用该列表,清空前复制
n = m.copy()
#clear——全删除
m.clear()
print(m)
#列表长度
print(len(n))
运行结果:
[1, 1.1, 'a', [1, 2], (4, 5)]
(4, 5)
[0, 1.1, 'a', [1, 2], (4, 5)]
[0, 1.1, 'a', [1, 2], (4, 5), 'f']
[0, 'opq', 1.1, 'a', [1, 2], (4, 5), 'f']
[0, 'opq', 1.1, 'a', [1, 2], (4, 5), 'f', 'b', 'c', 'd', 'e']
[0, 'opq', 1.1, 'a', [1, 2], (4, 5), 'f', 'b', 'c', 'd', 'e', 9, 8, 7, 6]
['opq', 1.1, 'a', [1, 2], (4, 5), 'f', 'b', 'c', 'd', 'e', 9, 8, 7, 6]
['opq', [1, 2], (4, 5), 'f', 'b', 'c', 'd', 'e', 9, 8, 7, 6]
(4, 5)
['opq', [1, 2], 'f', 'b', 'c', 'd', 'e', 9, 8, 7, 6]
[]
12
其他常见操作:
#排序,升序 排序时,元素类型要相同,若是字符串,字符串长度要相同
x = [12,54,66,98,7]
x.sort()
print(x)
#反序
x.reverse()
print(x)
#复制元列表并排序
b = ['a','y','q']
c = sorted(b)
print(b)
print(c)
运行结果:
[7, 12, 54, 66, 98]
[98, 66, 54, 12, 7]
['a', 'y', 'q']
['a', 'q', 'y']
提到list就还需要介绍一个和他关系很重要的range
#range范围,多用于在for循环中生成列表,只取整数,默认从0开始,也是左闭右开
range(5)
print(list(range(1,5)))
print(list(range(1,10,2)))
#2表示步长
运行结果:
[1, 2, 3, 4]
[1, 3, 5, 7, 9]
元组(tuple)特性及常见操作:
#tuple元组 形式:( , , ) 声明元组可不加()
t = 1,2,3,4,(5,6)
print(t[1])
print(t)
#同list一样,tuple可进行下标索引,可嵌套(即元组中含有元组)
#注意:元组不可增减元素,不可改变元组内的值
运行结果:
2
(1, 2, 3, 4, (5, 6))
集合(set)特性及常见操作:
#集合{set},set中没有重复元素,且输出顺序不固定
#add,remove,pop,copy,clear等用法同list
set_1 = {'a','a','1','d','f','ceg',3,2,0.9}
print(set_1)
#移除指定元素
set_1.discard('f')
print(set_1)
#定义一个空集合 也可用update在集合中增加多个元素,把要传入的元素拆分,作为多个个体传入集合中,类型不能是int
set_2 = set()
set_2.update([123],'m')
print(set_2)
#set生成集合也是把字符串元素拆成多个传入
set_3 = set("abd")
set_3.update('123')
print(set_3)
print(list(set_3))
print(set_1&set_3)
print(set_1|set_3)
print(set_1-set_3)
print(0.9 in set_1)
#&交集set_1.union(set_3) |并集.intersection() -相对补集.difference(),后者在前者中的补集; 属于in 不属于not in 返回布尔值
#set若想修改其内元素,删除要修改的元素,再把新元素添加进去
#排序则用list(set)将其转化为列表进行排序,同理,可将列表转化为集合来去除重复值
A = {22,5,90,8,75,}
B = list(A)
#B = list(A).sort() #自己实验运行报错
B.sort()
print(B)
运行结果:
{0.9, 'f', 2, 3, 'ceg', '1', 'a', 'd'}
{0.9, 2, 3, 'ceg', '1', 'a', 'd'}
{'m', 123}
{'1', 'a', '3', 'd', 'b', '2'}
['1', 'a', '3', 'd', 'b', '2']
{'1', 'a', 'd'}
{0.9, 'ceg', 2, 3, '1', 'a', '3', 'd', 'b', '2'}
{0.9, 2, 3, 'ceg'}
True
[5, 8, 22, 75, 90]