python基础分享(二)

一、string数据类型

1、string常见的内置函数

1)大小写转化函数

str13="abcdef123_" 
print("转化为大写:",str13.upper())
# 转化为小写
lower=str13.lower()
# 首字母大写
cap=str13.capitalize()
print(lower) 
print(cap)

2)字符格式的判断

isalnum 是否字母或者数字 ,返回True

isalpha 是否是字母或者中文

isnumeric 是否为纯数字

print("是否字母或者数字:",str13.isalnum())
str14="言"
print("是否是字母或者中文:",str14.isalpha())
str15='123456'
print("是否为纯数字",str15.isnumeric())

3)统计函数

max() min() len()

是通过ASCII来进行比较,0-9,a-z,A-Z

str16="abcdef0123456\n"2
print(max(str16))
print(min(str16))
print(len(str16))

4)常见字符串处理函数

1、查找 find/index查找字符

find 找到字符返回匹配字符的开始索引值,否则返回-1

index 找到字符返回匹配字符的开始索引值,没有找到报异常

区别:indext方法没有找到匹配的值,则会报异常,而find则返回-1

names="jeffery NN water"
value=names.find("NN",0,‐1)
value1=names.find("NN",0,len(names))
print('名称:',value)
if value!=‐1:
    print('找到')
else:
    print('没找到')

index=names.index("NN",0,‐1)
print(index)

2、按照指定分隔符连接字符串各个元素 join

"""
2、按照指定分隔符连接字符串各个元素
分隔符.join()
"""
str17="helloworld"
new='‐'.join(str17)
print(new)

3、根据指定的分隔符把字符串转为List split

"""
3、根据指定的分隔符把字符串转为List
"""
newstr='h‐e‐l‐l‐o‐w‐o‐r‐l‐d'
newlist=newstr.split('‐')
print(newlist)
print(type(newlist))
names2="jeffery NN water"11

newlist2=names2.split(' ')
print(newlist2)

4、替换字符串中部分字符 replace

"""
4、替换字符串中部分字符
"""
# NN替换MS221
new_replace=names2.replace("NN","MS221")
print("替换后的字符串:",new_replace)

5、前后去空格 strip() lstrip()左边去空格 rstrip()右边去空格

str18=" abcdefg "
print(str18)
newstr=str18.strip()
print(newstr)

二、元组

1、什么是元组

tuple 元组 不可变数据类型,元素的值不可以修改的,也是 Python序列数据类型,可以存储多个元素

通过()元素括起来,每个元素之间通过,隔开

特别注意:一个元素的元组,元素后面加,

tup1=('NN',221,246)
print(type(tup1))
tup2=('NULL',)
print(type(tup2))

2、如何获取元组中的某个元素的值 切片

print(tup1[1])

3、修改元组的值? 不可以修改,但是可以通过+连接组合

"""
3、修改元组的值?
"""
tup1=('NN',221,246)
tup3=('MS246',)
new=tup1[0:2]+tup3
print(new)

4、元组的常用运算符 + 连接 * 复制 in/not in

"""
4、元组的常用运算符
"""
new2=tup3*3
print(new2)
if 'MS246' in new2:
    print('存在')
else:
    print('不存在')

5、删除元组或元组的元素? 不可以删除 只能del 删除整个元组

del new2

6、哪些是不可变数据类型,哪些是可变数据类型,区别?

不可变数据类型:number\string\tuple,值改变,id值(内存地址)改变

可变数据类型:list/dict/set 值改变,id值(内存地址)不改变

num1=200
print(num1)
print("修改前num1变量的内存地址:",id(num1))
num1=202
print("修改后num1变量的内存地址:",id(num1))
print(num1)
name='MS265'
print("修改前name变量的内存地址:",id(name))
name='MS265'+'water'
print("修改后name变量的内存地址:",id(name))
names=['青灯有味','MS246','water']
print(f"修改前的值{names},修改前的内存地址{id(names)}")
names[2]='MS265'
print(f"修改后的值{names},修改后的内存地址{id(names)}")

三、list列表数据类型

1、什么是列表

list 列表 序列数据类型,类似于tuple元组,他们之间区别:元组是不可变 list可变数据类型

列表可以存储多个元素,元素与元素之间通过,隔开,通过表示,元素的类型可以为任意类型

list1=['jeffery','MS246','MS240']
print(list1)
print(type(list1))
list2=[]
print(list2)
print(type(list2))

2、如何获取列表中的元素? 切片

3、修改列表元素的值? 可以 可变数据类型

4、删除列表元组或者列表 可以 pop remover()

print(list1[‐1])
list1[‐1]='NN'
print(list1)
del list1[‐1]
print(list1)
list3=['abcdef']
del list3

5、list常用的运算符 + * in/not in

new=["A",'B']*2
name211=list1+new
print(name211)

6、嵌套列表

list4=['01','02',['03','NN']]
#嵌套列表中NN ?
print(list4[‐1][1])

7、list常见内置函数

len()

min()

max()

list(元组) 元组转化为列表

添加元素

append() 列表最后添加新元素(追加新元素)

extend() 追加多个元素

insert() 指定索引位置,添加元素

list5=[1,2,3,4]
# 实现添加新元素,返回None
list5.append(5)
print(list5)
list5.extend([6,7,8,9])
print(list5)
list5.append([6,7,8,9])
print(list5)
list5.insert(0,0)
print(list5)

删除元素

pop(index=-1) ,默认移除最后的一个元素

列表中允许多个重复的值 可以

remove 根据指定的值进行移除,移除列表中的某个值的第一个匹配项

list6=["01",'02','01','03','04']
list6.pop()
print(list6)
value=list6.pop(3)
print("pop方法返回删除的值:",value)
print(list6)
value2=list6.remove('01')
print(value2)
print(list6)

reverse() 反转列表元素

sort() 排序 默认降序

clear() 清空列表元素

copy() 复制新列表

# 反转列表元素
list7=[1,2,3,4,5,6]
list7.reverse()
print(list7)
list8=[2,5,0,10,30,20,3,100]
# 默认升序
list8.sort()
print(list8)
# 降序排列
list8.sort(reverse=True)
print(list8)
print(id(list8))
#复制列表
list9=list8.copy()
print(list9)
print(id(list9))
# 清空列表元素
list9.clear()
print(list9)