一、元组二、字符串三、字典
与list比较 文章末尾
文章较长可直接Ctrl+F搜索
一、元组tupe1=(1,2.3)
1. 删除元组
del tupe1 print(tupe1)
2.添加元组元素
t1=(1,2,3) t2=(5,6,7) t3=t1+t2 print(t3)
3.元组重复
t4=(11,22,33) print(t4*3)
4.判断元素是否在元组中
t1=(1,2,3,4,5,6,7,8,9,0) print(4 in t1)
5.元组元素截取
格式,元组名开始下标截取:结束下标之前
t1=(1,2,3,4,5,6) print(t1[3:4]) print(t1[:4]) print(t1[3:])
6.元素为一维元组的元组
t1=((1,2,3),(4,5,6),(7,8,9)) #获取元组内的元素 print(t1[0][2])
元组的方法:
#返回元组中的个数 len(t1) #返回元组中最大值or最小值 max(t1) min(t1) #将列表转为元组 list1=[1,2,3,4,5,56,6] t2=tuple(list1) print(t2)二、字符串
1.以某个字符截取字符串
str1='hello! python! print! defa! boj'
str2=str1.split('!')
print(str2)
#还可以获取分割个数
a=0#记录个数
for s in str2:
if len(s)>0:
a+=1
print(s)
print(a)
2.splitlines()方法 按照r rn n 分割
# 以列表形式返回 # keepends==true 会保留换行符 # splitlines(true) str1=""" hello world is a good! 1 hello world is a good! 2 hello world is a good! 3 """ print(str1.splitlines())
3.以指定的字符串分隔符,将ls1中元素组合成字符串
# join(ls1)以指定的字符串分隔符,将ls1中元素组合成字符串 ls1=['aaa','bbb','ccc','ddd'] str22=' '.join(ls1) print(str22)
4.替换字符串内容
# rrplace(oldstr,newstr,count)
# newstr替换oldstr默认全部替换,可以指定个数(前几个)
str1='hello is a good hello good is a good'
str2=str1.replace('good','aaaaaa',1)
print(str2)
5.判断字符串是否以某字符串开头或结束
# startswith(str,start=0,end=len(str)
# 在给定的范围内判断是否是给定的字符串开头,如果没有范围,默认整个字符串
str1='python is good max'
print(str1.startswith('python'))
# 字符串末尾
print(str1.endswith('max'))
6.字符串编码
# 编码
# encode(encoding='utf-8',errors='strict'
str1='python is good max'
data1=str1.encode("utf-8")
print(data1)
print(type(data1))
#解码 要与编码时的编码格式一致
# ignore 忽略错误
str2=data1.decode("gbk")
print(str2)
print(type(str2))
7.字符串的部分方法
laspha()
#如果字符串至少有一个字符,且所有字符都是字母时,返回true,否则返回false str111='python is good max' print(str111.isalpha())
isalnum()
#如果字符串至少有一个字符,且所有字符都是字母或者数字,返回true,否则返回false str1='12345' print(str1.isalnum())
isupper()
# 如果字符串至少有一个(英文)字符,且所有(英文)字符都是大写英文字母
#返回true,否则false
print('ADC'.isupper())
print('a'.isupper())
islower()
# 如果字符串至少有一个(英文)字符,且所有(英文)字符都是小写英文字母
#返回true,否则false
print('aDC'.islower())
print('a1'.islower())
istitle()
#如果字符串是标题化的 返回true 否则false
#即单词首字母大写
print('python is'.istitle())
print('Python Is'.istitle())
print('python Is'.istitle())
isdigit()
#如果字符串只包含数字字符,true,否则false
print('1234'.isdigit())
print('1234a'.isdigit())
isnumeric()
#如果字符串只包含数字字符,true,否则false
print('1234'.isdigit())
print('1234a'.isdigit())
isdecimal()
#字符串只包含十进制字符
print('1234'.isdecimal())
print('1234a'.isdecimal())
isspace()
#如果字符串中只包含空格,返回true,or false
print(' '.isspace())
print(' '.isspace())
print('t'.isspace())
print('n'.isspace())
三、字典
使用键-值(key-value)存储,具有极快的查找速度
!!!!字典是无序的
key特性:
1,字典中的key必须唯一
2,key必须是不可变对象
3,字符串,整数等都是不可变,可作为key
4,list是可变的,不能作为key
#创建字典
dict1 = {'tom':70,'honhon':100}
#元素的访问
#获取:字典名[key]
print(dict1['honhon'])
print(dict1['tom'])
print(dict1.get('timi'))#没有数据但不让他报错 返回None
#添加 dict1['xiaoxiao']=99 print(dict1)
#一个key对应一个value,多次对一个value赋值,其实就是修改值 dict1['tom']=59 print(dict1)
#删除
dict1.pop('tom')
print(dict1)
字典遍历
for key in dict1:
print(key,dict1[key])#字典里的每个值
for value in dict1.values():#获取字典中的value
print(value)
for k,v in dict1.items():#获取key和value
print(k,v)
for i,v2 in enumerate(dict1):
print(i,v2)
与list比较
字典:
#1,查找和插入速度极快,不会随key-value的增加而变慢
#2,需要占用大量内存,内存浪费多
列表
#1,查找和插入的速度,会随着数据量增多而变慢
#2,占用空间小,浪费内存小
xiaofengfeng的博客
你要坚持努力而不是你努力坚持——xiaofengfeng



