【Python】学习笔记2-数组类型:字符串方法、字典、元组

二、字符串方法

 1 # # 字符串不能修改
 2 # s = 'abc'
 3 # # s[1] = 'd'
 4 # # print(s) #报错,不能修改
 5 # s = 'cde' #这种可以的
 6 
 7 # # 注意: 可变变量:list(数组),字典
 8 # # 注意:不可变变量:元组,字符串
 9 
10 #字符串方法都不会改变原来字符串的值
11 
12 # strip()# strip默认去掉首位空格和换行符
13 name = '  cm    beauteful'
14 print(name)
15 print(name.strip())
16 print(name.strip('l'))# strip还可以去掉两边的参数
17 print(name.lstrip())# lstrip,去掉左边空格
18 print(name.rstrip())# rstrip,去掉左边空格
19 
20 
21 # count查找字符出现的次数
22 print(name.count('c'))
23 
24 # capitalize首字母大写
25 name = 'abc'
26 print(name.capitalize())
27 
28 # center 字符串被其他字符放在中间
29 name = 'abc'
30 print(name.center(20,'-'))
31 print(name)
32 
33 # find 找下标
34 print(name.find('a'))# 不存在返回-1,多个返回第一个
35 
36 # index 找下标
37 print(name.index('a'))#index如果找不到报错
38 
39 # upper把所有字符变成大写
40 # lower把所有字符变成小写
41 print(name.upper())
42 print(name.lower())
43 
44 # endswitch 判断字符串以什么结尾,返回真或者假  注意:可用于判断文件格式
45 # startswitch 判断字符串以什么开头,返回真或者假
46 file_name ='111.xls'
47 print(file_name.endswith('.xls'))
48 print(file_name.startswith('.xls'))
49 
50 # format 传入的是一个字典,格式化输出
51 name = '{name} welcome'
52 print(name.format(name = 'meng'))
53 print('sssss')
54 
55 # replace字符串替换,如果有多个全部替换
56 name = 'chen'
57 print(name.replace('chen','cheng'))
58 
59 # isdigit判断是否为数字 常用
60 print('wos2'.isdigit()) #False
61 
62 # islower 判断是否是小写字母 忽略
63 print('231a'.isalnum())# 判断是否包含数字或字母 忽略
64 print('add'.isalpha())# 判断是不是英文字母 忽略
65 
66 # split,常用
67 s ='a,b,c,d'
68 # 将字符串分割成数组,去掉,
69 print(list(s))#强制转换成数组list,输出['a', ',', 'b', ',', 'c', ',', 'd']
70 a =s.split(',')
71 print('数组为:',a)
72 print('a b c d     e'.split())#不带参数时,默认为空格分割
73 
74 
75 # join很常用,一个字符把两个字符串相连,可以循环的变量都可以用,数组,字典,元组都可以用
76 # 如果字符中间包含布尔型,或者数字的,都不可以连接,先强制类型转换
77 # 比如:注意:将数组转成字符串
78 str=['a','b','c']
79 str1=('a','b','c')
80 str2={'name':'cm','age':11}
81 print(','.join(str))
82 print(','.join(str1))#name,age
83 print(','.join(str2))#name,age
84 print(''.join(str))#将数组转成字符串abc

三、字典

key value 形式,取值方便,速度快

  1 # 定义
  2 d = {'name': 'chenmeng',
  3      'age': 11,
  4      'add': '北京'}
  5 print(d)
  6 
  7 # 取值
  8 print(d['name'])  # chenmeng # 【key】取值,如果不存在key报错
  9 print(d.get('name'))  # .get方法取值,如果不存在时,获取到空时,不会报错返回none,所以用get稍好
 10 print(d.get('names', '请求不到时默认显示内容'))
 11 
 12 # 增加1:给【】赋值,如果key存在则修改,如果不存在新增
 13 d['shengao'] = 180
 14 # 增加2:setdefault
 15 d.setdefault('weight', '60')
 16 
 17 # 修改
 18 d['shengao'] = 190
 19 
 20 # 删除pop
 21 d.pop('shengao')  # 字典是无序的,每次打印顺序可能不一致,所以要指定
 22 
 23 # 随机删除
 24 d.popitem()
 25 
 26 # 删除del
 27 d = {'name': 'chenmeng',
 28      'age': 11,
 29      'add': '北京'}
 30 del d['name']  # {'add': '北京', 'age': 11}
 31 
 32 # 清空字典
 33 # d.clear()
 34 
 35 # 查询所有key,查询所有values,然后对所有key或者字段做操作
 36 print(d.keys())  # 获取到所有的key,返回数组:['age', 'add']
 37 print(d.values())  # 获取到所有的values,返回数组:[11, '北京']
 38 
 39 # 判断key是否在字典里面,默认判断的是key
 40 if 'age' in d:
 41     print(d.get('age'))
 42 else:
 43     print('d中不包含age')
 44 
 45 # 只打印key
 46 for i in d:
 47     print(i)
 48 
 49 # items()将字段转换成二维数组,如果要使用的话,还需要强制类型转换成list(d.items)
 50 print(d.items())
 51 print(list(d.items())[0])
 52 
 53 # 强制类型转换
 54 int()
 55 str()
 56 list()  # 转换成数组
 57 
 58 # 打印key,value用items,性价比低,一般用下面的写法
 59 for k, v in d.items():
 60     print(k, v)
 61 # 输出: age 11
 62 #       add 北京
 63 
 64 # 取出所有key value
 65 for i in d:
 66     print(i, d.get(i))
 67 
 68 # 格式化代码操作:工具栏code->refomate
 69 
 70 
 71 #
 72 # # 练习取值
 73 
 74 # list和字典混合查看输出
 75 strus = [
 76     {'name': 'chenmeng',
 77      'age': 11,
 78      'add': '北京'},
 79     {'name': 'chenmeng1',
 80      'age': 11,
 81      'tell': 177000000}
 82 ]
 83 print(strus[0]['name']) #chenmeng
 84 
 85 
 86 # stus = {
 87 #     'ybq': {
 88 #         'age': 18,
 89 #         'sex': '男',
 90 #         'addr': '昌平区',
 91 #         'money': 10000000,
 92 #         'jinku': {
 93 #             '建行卡': 80000,
 94 #             '工商卡': 800000,
 95 #             '招商卡': 8000000
 96 #         }
 97 #     },
 98 #     'tlx': {
 99 #         'age': 19,
100 #         'sex': '女',
101 #         'addr': '昌平区',
102 #         'money': 10000000,
103 #         'huazhuangpin': ['chanle','haha']
104 #     },
105 #     'mpp': {
106 #         'age': 19,
107 #         'sex': '女',
108 #         'addr': '昌平区',
109 #         'money': 10000000,
110 #         "bag": {
111 #             'lv': '一车',
112 #             '鳄鱼':10
113 #         }
114 #     },
115 # }
116 #
117 # # 打印所有ybq的钱
118 # # 方法1
119 # print(stus['ybq']['jinku']['建行卡']+stus['ybq']['jinku']['工商卡']+stus['ybq']['jinku']['招商卡'])
120 # print(sum(stus['ybq']['jinku'].values()))
121 #
122 # # 方法2
123 # summoney=0
124 # allmoney = stus['ybq']['jinku'].values()
125 # print(allmoney)
126 # for money in allmoney:
127 #     summoney+=money
128 # print(summoney)

四、元组

 1 # 六、元组
 2 # 元组一旦被定义不能重新赋值,不能改变
 3 # 元组也是list,取值和list一样
 4 # tpye()查看变量类型
 5 a=(1)
 6 print(type(a))
 7 a=(1,2) #元组
 8 print(type(a))
 9 
10 # 只有两个函数
11 # count 找个数
12 # index 找索引
13 
14 a = (1,2,4,1)
15 print(a.count(1))
16 print(a.index(1))
17 
18 
19 a = ('我','们','学习','我')
20 print(a.count('我'))
21 print(a.index('学习'))