Python字典和字符串的学习
学习Python的字典还是和oc的字典进行对比学习,首先我们来创建一个字典。根据oc中字典一样,字典是无序的,根据键来进行取值。
oc:
oc中的字典分为可变字典和不可变字典,在对字典进行增,删的时候要使用可变字典,在对字典进行改和查的时候都可使用。
NSDictionary *dic =@{@"key":@"values",@"key1":@"values1"};
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"values",@"key",@"values1",@"key1", nil];
Python:
info = {
@"key":@"values",
@"key1":@"values1",
@"key2":@"values2",
}
增:
oc:
[dict setObject:@"values2" forKey:@"key2"];
Python:
info["key3"] = "values"
删:
oc
[dict removeObjectForKey:@"key2"];
Python:
del info["key2"]
info pop("key2")
info popitem() #随机删除
改:
oc:
dict[@"key"] = @"VALUES";
Python:
info["key"] = "VALUES"
info.default("key5","values5") #判断之前否又这个有就修改,没有就添加
查
oc:
NSString *string = dict[@"key1"];
Python:
info["key"] #必须确定这个字典中又这个key如果没有就会报错
info.get("key")#这个key有就返回没有就返回none
b = {
'key':"values",
1:3,
2:4,
}
info.update(b) #把字典合并,如果存在相同的就更换旧值。
info.items() #字典转化成为列表
c = dict.formkeys([6,7,8],"test") #初始化一个新字典
字典的循环
for i in info:
print(i,info[i])
python中字符串的一些方法
name = "zhang"
print(name.capitalize()) #首字母大写
name.count("a") #字符串中有多少个a
name.center(50,"-") #字符串放在中间 不够50个字符用-补充
name.endswith("g") #判断字符串是不是g结尾
name.encode() #字符串编码
name.expandtabs(tabsize=0) #将字符串中的\t变成多少空格
name.find("") #找到字符串中这个字母所在的索引
name.format_map() #这里面可以传字典
name.isalnum() #是否是英文字符和数字组成
name.isalpha() #是否是字母组成
name.isdecimal () #是否是十进制
name.isdigit #是否是整数
name.isidentifier #判断是不是一个合法的表示符
name.islower() #判断是不是小写
name.isnumeric() #判断是不是只有数字
name.isspace() #是不是空格
name.istitle() #每个字母首字母是不是大写
name.isupper() #是不是都是大写
print ('+'.join(['1','2','3'])) == 1+2+3
name.ljust(50,"*") #跟center一样就是不从左边数不够用*补
name.lower #大写变小写
name.upper #小写边大写
name.strip #去除空格换行 lstrip rstrip 左右的去处
p = str.maketrans("abcdef","123456")
name.tanslate(p) #把字符串转成后面的值 输出z1hng 加密可用到
name.replace("z","Z",1)替换
name.rfind("") #从左往右找到的最右边值的下标
name.split('') #分割字符串
name.splitines(0) #根据换行符分割
name.swapcase() #首字母小写
name.title() #首字母大写
name.zfill(50) #不够用0补