字典,字符串

1、在python中

不可变数据类型:整型,字符串,元祖

可变数据类型:列表,字典

2、字典的特征

无序(在字典中顺序存储的取出来却不一定是顺序的)、键值不可变且唯一

3、创建字典

#列表创建方式
a = list([1, 2, 3])
b = list((1, 2, 3))
print(a)
print(b)

#字典创建方式
c = dict((('name','jiangqijun'),))
d = dict((("name","jiangqijun"),))
print(c)
print(d)

4、setdefault方法

d = {"age":18}
#如果某个键存在则返回原来的值,且不修改原来的值
print(d.setdefault("age",30))
print(d)

#如果某个键不存在则返回新增加的值
print(d.setdefault("name",'jiangqijun'))
print(d)

5、打印所有的键值keys()

#获取所有的键值
print(d.keys())

#获取所有的值
print(d.values())

#获取所有的键值对
print(d.items())

6、修改update

#修改操作
e = {"name":"jiangqijun", "age":"18"}
f = {"name":"xiaojiang", "city":"shenzhen"}
e.update(f)
print(e)

 

7、删除操作

#删除操作del,clear,pop
g = {"name":"xiaojiang", "city":"shenzhen","phone":"18812344321"}
del(g["name"])#删除键值对
print(g)
print(g.pop("city"))#删除键值对并返回值
print(g)
g.clear()#清空整个字典
print(g)

8、字典排序

第一种方式:sorted+lambda

sorted(d.items(),key=lambda x:x[1])
"""
第一个参数是需要排序的列表,第二个参数是指定key(列表中每一项的第几个元素)来进行排序。 
解释这句代码:d.items()返回的是一个列表 [('a', 74), ('b', 90), ('c', 84), ('d', 85), ('e', 64), ('f', 66), ('g', 88)] 
sorted会对d.items()这个list进行遍历,把list中的每一个元素,也就是每一个tuple()当做x传入匿名函数lambda x:x[1],函数返回值为x[1], 
也就是key=x[1]=tuple()[1]=('a', 74)[1],也就是说按照里表中每个项的第二个元素进行排序(第一个是想x[0])
"""

 

第二种方式:sorted函数

  可以对列表[]进行从小到大排序,对于字典{}dict,sorted函数默认只按照dict的key进行排序,所以要对dict进行调整变形。

  1、利用zip函数把dict转换成一个列表,列表中每个元素都是一个tuple,tuple大小比较原理是,先比较第一个元素,第一个相同在比较第二个。

  2、利用sorted函数对转换后的列表进行排序。

z=zip(d.values(),d.keys())   #[(62, 'a'), (97, 'b'), (87, 'c'), (68, 'd'), (91, 'e'), (76, 'f'), (88, 'g')],然后对这个列表进行sorted排序
sorted(z)

9、字符串常用操作方法

#字符串
a = "hello"
b = "world!"
#采用下标访问获取字符
print(a[0])
#采用切片方式获取字符串
print(a[1:])
#字符串的连接方法
print("---".join([a,b]))
#重复输出*
print(a*10)
#ing关键字
print("h"in a)
#格式化%s
print("%s is very good"%"it")

print('\tMy tLtle\n'.strip())

#字符串的常用方法
str = "hello,world"
#一个字符出现的次数
print(str.count("o"))
#居中显示
print(str.center(50,"#"))
#判断是否以某个字符开始
print(str.startswith("he"))
#查找某个字符第一次出现的索引位置
print(str.find('e'))
#格式化输出
print("hello {name} ".format(name="jiangqijun"))
#大小写
print(str.upper())
print(str.lower())
#strip从左边以字符切割
print(str.strip('h'))
#替换字符
print(str.replace("ello","i"))
#分割字符为列表
print(str.split(","))

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值