Python 中的str、list和dict的常用知识点
作者:互联网
str、list和dict都是python中常用的几种数据类型
一、str
str = 'python'
# print(a:b:c) #从a开始,b结束,步长是c
print(str[0]) # p
print(str[2]) # t
print(str[0:0]) # 空
print(str[1:4]) # 返回序列s中从s[a]到s[b-1]的片段 yth
print(str[-1]) # n
print(str[::-1]) # nohtyp
print(str * 2) # pythonpython
print(str+'a')#pythona
str.find(...) 返回子串的位置
str = 'python'
print(str.find('tho')) # 2
print(str.find('th')) # 2
find的用法和index的用法一样,index('str1',int),int可以不写,查到第几个str1。
当str1 不存在的时候,index()返回一个错误,find返回一个-1
str.replace(a,b)
str = 'python'
print(str.replace('y','s'))#psthon
2、str转成list形式
str_0 = "abc"
list_1 = list(str_0)
print("字符串转列表:", list_1, type(list_1))
#字符串转列表: ['a', 'b', 'c'] <class 'list'>
二、list
del del语句后面加的是list[index],不是值也不是索引
ls.append() 返回值是None
ls.count(...) 计某一值出现的次数
ls.extend(another_ls) 将两个列表合并
ls.index(value) 获取某个值的索引
ls.insert(index,value) 在某个地方插入值
ls.pop() 不加参数默认pop掉最后一个元素并且返回其值
ls.remove(..) 去除从左到右第一个匹配到的值,如果没找到报错
ls.reverse() 返回None,对ls本身反序
ls.sort() 返回None,对ls本身排序
stus_list = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精']
print(stus_list[0]) # 孙悟空
print(stus_list[0:0]) # []
print(stus_list[1:3]) # ['猪八戒', '沙和尚']
print(stus_list[::-1]) # ['白骨精', '唐僧', '沙和尚', '猪八戒', '孙悟空']
print(stus_list * 2)# ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精', '孙悟空', '猪八戒', '沙 和尚', '唐僧', '白骨精']
extend与append
stus_list.append('观音菩萨') # 追加
# ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精', '观音菩萨']
print(stus_list)
stus_list.extend(['金角', '银角']) # 拓展
# ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精', '金角', '银角']
print(stus_list)
stus_list = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精']
stus_list.extend('python') # 将字符串添加到list
# ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精', 'p', 'y', 't', 'h', 'o', 'n']
print(stus_list)
stus_list.extend({"k1": "v1", "k2": "v2"}) # 添加字典
# ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精', 'k1', 'k2']
print(stus_list)
注:扩展extend与追加append的区别:
extend为将数据类型的元素分解添加至列表内.
append为添加将元素作为一个整体添加.
#['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精', 'hello', 'world']
stus_list.extend(["hello","world"])
# ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精', ['hello', 'world']]
stus_list.append(["hello", "world"])
元素的插入insert
stus_list = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精']
stus_list.insert(1, 'python')#索引从0开始,即第二个
# ['孙悟空', 'python', '猪八戒', '沙和尚', '唐僧', '白骨精']
print(stus_list)
pop()--取出,可将取出的值作为字符串赋予另外一个变量,即有返回值
stus_list = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精']
p_list = stus_list.pop(1)
print(stus_list) # ['孙悟空', '沙和尚', '唐僧', '白骨精']
print(p_list, type(p_list)) # 猪八戒 <class 'str'>
remove()-->移除、del -->删除
stus_list = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精']
del stus_list[1] # ['孙悟空', '沙和尚', '唐僧', '白骨精']
stus_list.remove("孙悟空") # ['猪八戒', '沙和尚', '唐僧', '白骨精']
print(stus_list)
sorted()-->排序,默认正序,加入reverse =True,则表示倒序,不做解释了
list转换成str
stus_list = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精']
str1 = "".join(stus_list) # 孙悟空猪八戒沙和尚唐僧白骨精
print(str1)
str2 = str(stus_list) # ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精'] <class 'str'>
print(str2, type(str2))
list转成dict
stus_list = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '白骨精']
stus_list2 = ['a', 'b', 'c', 'd', 'e']
d = dict(zip(stus_list, stus_list2))
# {'孙悟空': 'a', '猪八戒': 'b', '沙和尚': 'c', '唐僧': 'd', '白骨精': 'e'} <class 'dict'>
print(d, type(d))
还有就是用循环转换,这里不做解释了。
三、dict
字典的遍历
csdn_dict = {
"name": "阳阳",
"age": 22,
"email": "1943374299@qq.com"
}
# 键的遍历
for k in csdn_dict:
print(k)
# name
# # age
# # email
print(csdn_dict.keys())
# dict_keys(['name', 'age', 'email'])
print(csdn_dict.values())
# dict_values(['阳阳', 22, '1943374299@qq.com'])
print(csdn_dict.items())
# dict_items([('name', '阳阳'), ('age', 22), ('email', '1943374299@qq.com')])
dict转换成list
str3 = str(csdn_dict)
# {'name': '阳阳', 'age': 22, 'email': '1943374299@qq.com'} <class 'str'>
print(str3, type(str3))
dict转化成list
list_key = list(csdn_dict) # keys转换成list
# ['name', 'age', 'email'] <class 'list'>
print(list_key, type(list_key))
list_value=list(csdn_dict.values())
#['阳阳', 22, '1943374299@qq.com'] <class 'list'>
print(list_value,type(list_value))
标签:白骨精,知识点,stus,Python,沙和尚,list,str,print 来源: https://blog.csdn.net/qq_42164596/article/details/101009851