DAY 3 又见数据类型 - 字符串、列表、字典

字符串 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值