Python学习Day06-字典
* saving=input(‘qqqqqqqqqqqq’)
If saving.isdigit() #验证saving是否是一个数字;
* for i in 序列(range(),列表,元组,字典)
*list[]
list.index(i) 取索引
*enumerate(list) 在list各元素前加索引,从零开始
enumerate(list,1)从1开始;
*for i,v in (list) 把list里第一个元素赋给i,第二个元素赋给v
--------------------------------------------------------------------------
*********************字典**************************
字典是python中唯一的映射类型,采用峰值对(key-value)的形式存储数据。
字典是无序存储的。是无序对象的集合。字典中的元素是通过键来存储的。
*print(id(a))#查看a的内存地址
不可变类型:整形、字符串、元组
可变类型:列表、字典
字典举例:dic={'name':'alex', 'age':35,'hobby':'girl',键:值} (键必须为不可修改的类型,值可以为可修改类型)
字典两大特点:无序、键唯一
*字典创建:
1.dic={'name':'alex', 'age':35,'hobby':'girl',键:值}
2.dic2=dict('name','alex')(小括号、中括号均可)
*字典的操作:
1.增
dic1={'name':'alex'}
dic1['age']=18
即增加了‘age':18.如果有作修改,如果没有创建新的
dic1.setdefault('age',34),如果键有,不做变动。如果没有创建新的。并返回键对应的值
2.查
通过键查对应的值
dic.keys() 字典里所有的键(dict_keys类型,想用需要进行转换)
dic.values()字典里所有的值
dic.items()字典里所有的键值对
dic.get(键)取得键对应的值
dic.get('name','xxx') 没有name这个键就新增,有则修改
3.改
取出来进行赋值
dic['age']=55
dic1.update(dic2) 把字典2的键值对加到1,重复的更新,一样的不加
4.删
del dic['name'] 删掉name对应的键值对
dic1.clear()清空字典,字典还存在
dic.pop('age') 删掉age键值对并返回age键对应的值
dic2,popitem随机删除一组键值对
del dic3 删除整个字典
5.其它操作
dic1=dict.fromkeys(['1','2','3'],'test'])键为1,2,3.对应的值均为‘test'’
*字典嵌套:
*排序*:
根据键进行排序,如果是数字,从小到大。如果是字符串,按ASCII码
sorted(dic.value()),按值进行排序
*字典的遍历*:
for i in dic
print(i) #默认是遍历键,把键打印出来,dic[i]效率更高。
for i,v in dic.items()
print(i,v)#把键和值都打印出来。不推荐。
-------------------------------------------------------------------------------------------
*******************************字符串******************************
*操作*:
单引号和双引号:基本无差别。
a="let's go"
1.乘法操作:重复输出字符串
2.字符串也可以切片,通过索引去取
3.关键字 in:判断是否存在 ‘ell’ in ‘hello’,是为True
4.格式化输出:%s,XXX
5.字符串拼接:
1,a=‘123‘ ’b=abc’ c=a+b 效率低
2,'**'.join([a,b]) 字符串.join(列表或元组),拼接,将列表里每一个元素用前面的字符串拼接。a**b**d
6.字符串内置方法:
st='he\tllo world {name}'
st.count('l') #属l的个数
*st.capitalize() #将字符串首字母大写
st.center(50,'-') #50g个-,中间放st字符串
st.ljust(50,'*') #50个*,字符串最左
st.rjust(50,'*') #50个*,字符串最右
st.endswtirh('y') #判断以什么结尾,正确返回TRUE
*st.startswith('he') #判断以什么开头,正确返回TRUE 重要
st.expandtabs(tabsize=10) #设置tab的空格数,没用
*st.find('o') #从左找到o并返回索引值,没有返回-1
st.rfind('t') #从右数第一个t的索引位置
*st.format(name='alex') #格式化输出
st.format_map({'name':'alex'}) #格式化输出,用字典
st.index(t') 与find功能一样,没有则报错
st.isalnum #判断st是否为包含字母或数字或汉字,有其它为FLASE
st.isdecimal() #判断是否为10进制
st.isfigit() #判断是否为整形数=st.numeric
st.islower() #判断是否为全部小写
st.isupper()#判断是否为全部大写
st.isspace() #判断是否全部为空格
st.istitle() #判断每个单词的首字母大写
*st.lower() #所有大写变小写
*st.upper()#所有小写变大写
st.swapace()# 所有大小写反转
*****st.srtip() #将字符串前后空格、换行符去掉,.lstrip,前面的都去掉,rstrip 后面的都去掉
*st.replace('titile','lesson',1) #将lesson 替换1次 title
*st.split(' ') #用空格作分隔符,分割字符串成列表
st.rsplit('i',1) #只分割一次,从右往走数
st.titile() #所有单词首字母大写

浙公网安备 33010602011771号