Python学习

字符串

字符串处理函数 

len(str)
str(x)
eval(str)
chr(u)
ord(str)
hex(num)
oct(num)

字符串处理方法 

str.lower()
str.upper()
str.split(sep,maxsplit)
str.join(iter)
str.count(sub)
string.find(str,start,end)
string.index(str,start,end)
str.startswith(obj)
str.endswith(obj)
string.swapcase()
string.replace(str1,str2,count)
str.strip()
str.isalpha()
str.isdigit()
str.isalnum()
str.isspace()

 字符串|列表操作符

+
*
in

列表

 列表操作

list[index]
list[start:stop:steps]
list.append(object)
list.insert(index,object)
list.extend(iterable)
list.pop([index])
list.remove(value)
del list[index]
del list[start:stop:step]
list.clear()

列表统计和计算 

list.count(value)
list.reverse()
list.copy()
list.index(value)
len(list)
max(list)/min(list)

列表排序 

list.sort(key=None,reverse=False)
sorted(list,key=None,reverse=False)

 列表函数

cmp(list1,list2)
len(list)
max(list)/min(list)
list(seq)

 列表方法

list.append(object)
list.count(value)
list.extend(seq)
list.index(value)
list.insert(index,object)
list.pop([index=-1])
list.remove(value)
list.reverse()
list.sort(cmp=None,key=None,reverse=False)
list.clear()
list.copy()

 列表推导式

1、list = [Expression for i in range]

from random import randint
list = [randint(-10,10) for i in range(10)]
print(list)

2、newlist = [Expression for i in oldlist]

list1 = [182,920,459,945,880]
list2 = [i*2 for i in list1]
print(list2)

3、newlist = [Expression for i in oldlist if condition]

list1 = [182,920,459,945,880]
list2 = [i*2 for i in list1 if i>500]
print(list2)

二维列表

二维列表创建

1、直接创建list1

2、使用嵌套的for循环创建list2

3、使用列表推导式创建list3

list1 = [[0,1,2,3],[0,1,2,3],[0,1,2,3]]
list2 = []
for i in range(3):
    list2.append([])
    for j in range(4):
        list2[i].append(j)
list3 = [[j for j in range(4)] for i in range(3)]
print(list1)
print(list2)
print(list3)

二维列表遍历

1、索引遍历list1

2、句柄遍历list2

3、枚举遍历list3

list1 = [[0,1,2,3],[0,1,2,3],[0,1,2,3]]
for i in range(len(list1)):
    for j in range(len(list1[i])):
        print(list1[i][j])

list2 = [[0,1,2,3],[0,1,2,3],[0,1,2,3]]
for i in list2:
    for j in i:
        print(j)

list3 = [[0,1,2,3],[0,1,2,3],[0,1,2,3]]
for x,i in enumerate(list3):
    for y,j in enumerate(i):
        print(x,y,':',j)

二维列表运算

1、二维列表相加

alist = [[1,2],[3,4]]
blist = [5,6]
print(alist+blist)

2、二维列表求极值

针对二维列表的每一个列表元素的第一个元素进行比较,如果列表元素的第一个元素相等,则继续比较第二个元素。

alist = [[10,'a'],[1,9,20],[12,1],[12,0]]
print(max(alist))
print(min(alist))

元组

元组是不可变序列,不能对它的单个值进行修改,但是可以通过重新赋值改变元组。

元组创建

1、创建空元组tup1

2、创建长度为1的元组tup2

3、直接创建元组tup3_1、tup3_2

4、函数创建元组tup4

tup1 = ()
tup2 = (1,)
tup3_1 = (1,2,3)
tup3_2 = 1,2,3
tup4 = tuple('123')
print(tup1)
print(tup2)
print(tup3_1)
print(tup3_2)
print(tup4)

元组删除

tup1 = (1,2,3)
print(tup1)
del tup1

字典

字典的增删改查

dict1 = {'姓名':'小红','年龄':14,'性别':'女'}
print(dict1['年龄'])
dict1['年龄']=28
print(dict1['年龄'])
dict1['身高']=165
print(dict1)
del dict1['年龄']
print(dict1)
del dict1
print(dict1)

字典函数、方法

k in d
d.keys()
d.values()
d.items()
d.get(k,<default>)
d.pop(k,<default>)
d.popitem()
d.clear()
len(d)

字典遍历

 for i in d:

        <语句块>

 for i in d.keys():

        <语句块>

 for i in d.values():

        <语句块>

集合

创建集合

建立空集合必须用set()。

set1 = {1,2,3}
set2 = set('1')
print(type(set1),set1)
print(type(set2),set2)

集合操作符

S|T
S-T
S&T
S^T
S<=T或S<T
S>=T或S>T

集合处理方法 

S.add(x)
S.discard(x)
S.remove(x)
S.clear(x)
S.pop(x)
S.copy(x)
len(S)
x in S
x not in S
set(x)

数据结构之间的不同

数据结构是否可变是否重复是否有序定义符号

列表list

可变可重复有序[]
元组tuple不可变可重复有序()
字符串str不可变
字典dict

键不可变

值可变

键不重复

值可重复

无序{}
集合set

可增删

不可改查

不重复无序{}
堆栈stack
队列queue

函数

函数定义

通过保留字def定义函数。函数名可以是任何有效的Python标识符。

标识符区分大小写、以字母、数字、下划线组成,数字不能开头,不能用关键字作为函数名或者变量名。

函数调用

函数只有调用才会运行,一般情况下,主调函数和被调用函数之间会进行数据传输,被称为参数传递,有两种方式:值传递和引用传递。

值传递:将实参的副本传入函数,不改变实参本身。适用于字符串、数字等不可变类型。

引用传递:如果改变形参的值,那么实参也会发生同样的改变。适用于列表、字典等可变类型。

可选参数

函数调用过程中如果忘记写实参,将会产生异常报错,所以在定义函数的时候可以为某些参数指定默认值,构成可选参数。

可选参数一定要写在非可选参数的后面且必须指向不可变对象。

可变参数

可变参数是指传入参数的数量不一定,也称为不定长参数。

有两种定义形式:*parameter、**parameter

*parameter是将多个参数放到一个元组中。

**parameter是将多个(类似关键字)参数放到一个字典中。

关键字列表(Python 3.12)

Falsebreakfinallylambdawhile
Noneclassfornonlocalwith
Truecontinuefromnotyield
anddefglobalor
asdelifpass
assertelifimportraise
 async elseinreturn
awaitexceptistry

列表切片

用参数切片

list1 = ['今','儿','天','气','很','好']

#列表切片的顺序看参数step,step为正,表示从左向右,此时start<stop
print(list1[1:5:1])#['儿', '天', '气', '很']
print(list1[-5:-1:1])#['儿', '天', '气', '很']
print(list1[1:-1:1])#['儿', '天', '气', '很']

#step为负,表示从右向左,此时start>stop
print(list1[5:1:-1])#['好', '很', '气', '天']
print(list1[-1:-5:-1])#['好', '很', '气', '天']
print(list1[5:-5:-1])#['好', '很', '气', '天']

#错误情况
print(list1[1:5:-1])#[]
print(list1[5:1:1])#[]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值