字符串 string
定义:有序字符的集合,用于在计算机里表示文本信息
特性:有序;可切片;不可改变其中某个元素的值
#创建
a = "hello,my name is Aaliyah."
#切片 - 顾头不顾尾;省略头:[:4]代表默认从0开始;省略尾:[2:]代表到最后一个字符为止
print(a[2:4])
#输出:ll
#center - 打印指定字节数的指定符号,并将字符串放中间
print(a.center(50,"-"))
#输出:--------------------hello,my name is Aaliyah.---------------------
#count - 计算字符串中某个字符的个数
print(a.count("a")) #全局搜索
print(a.count("l",0,4)) #局部搜索
#endswith - 判断结尾,检查结尾是否是某段字符;是则返回Ture;否则返回False
print(a.endswith("王八"))
#startswith - 判断开头,与endswith类似
print(a.startswith("A"))
#find - 字符查找,找到后返回字符索引;若没找到,返回-1
print(a.find("i"))
#isdigit - 判断是否是整数
print("22".isdigit())
#jion - 拼接字符串
l = ["Alex","black girl","peiqi"]
print("-".join(l)) #双引号里面是连接符
#输出:Alex-black girl-peiqi
#replace - 替换,将l替换成M
print(a.replace("l","M",1)) #后面的1代表只替换1次,若省略,默认替换1次
#split - 将字符串变成列表,可以指定区分的字符。用以区分的字符不会出现在列表中
print(a.split("m",1)) #后面的1代表只分隔一次;可省略
#输出:['hello,', 'y name is Aaliyah.']
列表 list
定义:[]内以逗号分隔,按照索引,存放各种数据类型;每个位置代表一个元素
特定:可存放多个值;有序访问;可修改指定索引位置的值
#创建
names = ["alex","jack"]
#插入操作,此时names = ["alex","jack"]
#追加,追加到尾部
names.append("rain")
names.append("eva")
print(names) #输出:['alex', 'jack', 'rain', 'eva']
#插入,可插入任何位置
names.insert(2,"black girl")
print(names) #输出:['alex', 'jack', 'black girl', 'rain', 'eva']
#合并,把另外一个列表的值合并进来
#此时names = ['alex', 'jack', 'black girl', 'rain', 'eva']
n2 = ["狗蛋","绿毛","鸡头"]
names.extend(n2)
print(names) #输出:['alex', 'jack', 'black girl', 'rain', 'eva', '狗蛋', '绿毛', '鸡头']
#列表嵌套,列表中插入列表
#此时names = ['alex', 'jack', 'black girl', 'rain', 'eva', '狗蛋', '绿毛', '鸡头']
names.insert(2,[1,2,3])
print(names) #输出:['alex', 'jack', [1, 2, 3], 'black girl', 'rain', 'eva', '狗蛋', '绿毛', '鸡头']
print(names[2]) #输出:[1, 2, 3]
print(names[2][1]) #输出:2
#删除操作
#此时names = ['alex', 'jack', [1, 2, 3], 'black girl', 'rain', 'eva', '狗蛋', '绿毛', '鸡头']
#直接删
del names[2]
print(names) #输出:['alex', 'jack', 'black girl', 'rain', 'eva', '狗蛋', '绿毛', '鸡头']
#pop删除 - 默认删除最后一个元素并返回被删除的值
names.pop()
print(names) #输出:['alex', 'jack', 'black girl', 'rain', 'eva', '狗蛋', '绿毛']
names.pop(1) #删除指定元素,指定索引
print(names) #输出:['alex', 'black girl', 'rain', 'eva', '狗蛋', '绿毛']
names.pop(-2) #删除倒数第2个元素
print(names) #输出:['alex', 'black girl', 'rain', 'eva', '绿毛']
#remove删除 - 从左边找到第一个删除,找不到就报错
names.remove("jack")
print(names) #输出:['black girl', 'rain', 'eva', '绿毛']
#clear - 清空
n2.clear()
print(n2) #输出:[]
#修改操作
#此时names = ['black girl', 'rain', 'eva', '绿毛']
names[0] = "金角大王"
names[-1] = "银角大王" #改最后一个值
print(names) #输出:['金角大王', 'rain', 'eva', '银角大王']
#查找
names.index("eva") #返回特定元素的索引值
names.count("eva") #返回"eva"的个数
#切片 - 同时取出元素的多个值,顾头不顾尾
#此时names = ['金角大王', 'rain', 'eva', '银角大王']
print(names[1:3])
#输出:['rain', 'eva'] #顾头不顾尾,有第1个元素,没有第3个元素
print(names[0:3]) #也可以写成 names[:3]
#输出:['金角大王', 'rain', 'eva']
print(names[0:100]) #超标写法
#输出:['金角大王', 'rain', 'eva', '银角大王']
print(names[2:]) #后面的全包括
#输出:['eva', '银角大王']
print(names[-3:-1]) #倒着切,顾头不顾尾,没有倒数第1个元素
#输出:['rain', 'eva']
#步长 - 设置步长,可以跳着取元素,默认1
#此时names = ['金角大王', 'rain', 'eva', '银角大王']
print(names[0:-1:2]) #最后的2表示步长
#输出:['金角大王', 'eva']
#排序 - 将元素按英文字母顺序排序
names = ['A','B','D','G','F']
names.sort() #不会返回列表,而是直接在原列表的基础上修改
print(names) #输出:['A', 'B', 'D', 'F', 'G']
#反转 - 整个列表反转过来
names = ['1','2','3','4','5']
names.reverse() #不会返回列表,而是直接在原列表的基础上修改
print(names) #输出:['5', '4', '3', '2', '1']
#循环列表
for i in names:
print(i)
#输出:
# 银角大王
# 金角大王
# rain
# eva
#加上索引
for i in enumerate(names):
print(i)
#输出:
# (0, '银角大王')
# (1, '金角大王')
# (2, 'rain')
# (3, 'eva')
字典 dict
定义:一种通过key来查找value的数据类型,结构为{key1:value,key2:value2}
特性:key必须为不可变的数据类型(字符串/数字)且必须唯一;可以存放任意多个value,可修改,可以不唯一;无序;查询速度快,不受字典大小影响;没有切片操作。
#创建与打印
dic = {
"Alex":[23,"CEO",66000],
"黑姑娘":[24,"行政",4000],
"佩奇":[26,"讲师",40000]
}
print("佩奇" in dic) #输出:True
print(dic["佩奇"]) #输出:[26, '讲师', 40000]
#增加/修改
dic["Aaliyah"] = [24,"测试",40000]
#删除
dic.pop("Alex") #删除指定key
del dic["黑姑娘"] #删除指定key
del dic[0] #删除索引对应key
dic.clear() #清空dic
#查找
dic["佩奇"] #返回key对应的值,若key不存在则报错
dic.get("佩奇",default= None) #返回key对应的值,若key不在字典中,则返回defult的值(默认为None)
"佩奇" in dic #存在返回True,没有则返回False
dic.keys() #返回一个包含字典所有key的列表
dic.values() #返回一个包含字典所有value的列表
dic.items() #返回一个包含所有(键,值)元素的列表
#打印
dic = {
"Alex":[23,"CEO",66000],
"黑姑娘":[24,"行政",4000],
"佩奇":[26,"讲师",40000]
}
#打印方法1
for k in dic.keys():
print(k)
#输出:
#Alex
#黑姑娘
#佩奇
#打印方法2
for k,v in dic.items():
print(k,v)
#输出:
# Alex [23, 'CEO', 66000]
# 黑姑娘 [24, '行政', 4000]
# 佩奇 [26, '讲师', 40000]
#打印方法3
for k in dic: #官方推荐使用,这种最快
print(k,dic[k])
#输出:
# Alex [23, 'CEO', 66000]
# 黑姑娘 [24, '行政', 4000]
# 佩奇 [26, '讲师', 40000]
#字典嵌套,在关键字"Jack"下再存储一个字典
dic["Jack"] = {"salary":5000,"age":25}
#嵌套字典取值
print(dic["Jack"]["salary"])
#输出:5000