接python第二天:
一:两道编程小食
1、计算‘5+9’
#计算‘5+9’ value='5+9' v2,v3=value.split('+') print(v2) print(v3) v2=int(v2) v3=int(v3) print(v2+v3)
2、计算用户输入的内容中有几个小数?几个字母?
#计算用户输入的内容中有几个小数?几个字母? c1 = 0 c2 = 0 val = input('>>>') for item in val: # 如果item是数字: c1 += 1 # 如果item是字母: c2 += 1 print(c1,c2)
二:列表 list
li = [1, 12, 7, 'age', ['gh', '规划'], 'alex', True] # list 类,列表 # ‘集合’,内部可以放任何东西 # 通过索引、切片取值 print(li[3]) print(li[2:-1]) # for循环 ;while循环 # 列表元素可以被修改 li = [1, 12, 7, 'age', ['gh', '规划'], 'alex', True] # 修改 li[1] = 120 print(li) li[1:3]=(120,90) print(li) # 删除1 del li[1] print(li) # in 操作 v = 120 in li print(li) # 列表中的元素是以,为分割的 li = [1, 12, 7, 'age', ['gh', '规划'], 'alex', True] v = li[4][0] print(v) # 字符串转换成列表,其内部使用for循环 s = 'dfghjk,' li = list(s) print(li) # 列表转换成字符串 r = str(li) print(r) # 既有数字又有字符串,需要自己写for循环 li=[11,22,33,'456','fgh'] s = '' for i in li: s = s + str(i) print(s) # 列表中的元素只有字符串,直接使用字符串join方法 li = ['dfgh','1234'] v = ''.join(li) print(v) # 原来的值最后追加 # li = [11,22,'rty','23'] li.append(5) li.append('alex') li.append([2345,'dfg']) print(li) # 清空列表 li.clear() print(li) # 拷贝,浅拷贝 v = li.copy() print(v) # 计算元素出现的次数 v = li.count(22) print(v) # 扩展原列表,使用for循环,参数:可迭代对象 li = [11,22,'rty','23'] li.extend(['ghj',567]) print(li) # 根据值获取当前值索引位置(左边优先) v = li.index(22) print(v) # 在指定位置插入 li.insert(0,'99') print(li) # pop默认删除最后一个值,并获取删除值;参数为指定索引值 v = li.pop() print(li) print(v) # 删除列表中的指定值,左边优先 li.remove(22) print(li) # PS:删除:pop remove del li[o] del li[2:9] clear # 将当前列表翻转 li.reverse() print(li) # 排序 li = [11,22,1,89] li.sort() li.sort(reverse=True) print(li)
三:元祖 tuple
写元祖时,推荐后面加“,”
tu = (111,'alex',(22,77),)
tu = (111,'alex',(22,77),) # 索引 v = tu[2] print(v) # 切片 v = tu[0:2] print(v) # del会报错 # 可以for循环,可迭代对象 for item in tu: print(item) #列表元祖转换 s = 'sdfghjk' li = ['ghj', 3456] tu = ('gh','567',) v = tuple(s) print(v) v1 = tuple(li) print(v1) v2 = list(tu) print(v2) # 不能有数字 v = '_'.join(tu) print(v) tu = (34, 'alex', (1, 4), [(33, 77)], True, 78,) # 元祖,是有序 v = tu[3][0][0] print(v) # 元祖的一级元素不可修改、删除、增加;当它里面嵌套列表或其他值时可被修改 tu[3][0] = 567 print(tu)
方法记住两个:
- count 获取指定元素在元祖中的次数
- index 获取指定元素的索引号
四:字典 dict
# 字典的valu值是任意值 # 列表、字典不能作为字典的Key,但是注意布尔值和数字(1,0)不能重复 # info = { # 'k1': 'v1', #键值对 # 'k2': 'v2' # } info = { 'k1':18, 2:True, 'k3':[ 11, 22, 33, { 'kk1':'vv1', 'kk2':'vv2', 'kk3':(11,22), } ], 'k4':(11,22,3,4) } print(info) # 字典无序 # 索引方法找到指定元素,因为无序所以不能切片查找 v = info[2] print(v) v = info['k3'][3]['kk3'][0] print(v) # 支持del删除 del info['k1'] print(info) # for 循环,默认循环输出keys.info.keys;info.values;info.items for item in info: print(item) for item in info.values(): print(item) for k,v in info.items(): print(k,v) # dict dic = { 'k1':'v1' } #根据序列,创建字典,并指定统一的值 v = dict.fromkeys(['k1',123,'67'],346) print(v) #根据Key获取值,key不存在时,可以指定默认值(None) v = dic.get('k1',567) print(v) #删除并获取值(指定删除) v = dic.pop('k1') print(dic,v) #删除并获取值(随机删除) k,v = dic.popitem() print(dic,k,v) #设置值,已经存在:不设置,获取当前key的值;不存在,设置,获取当前key对应的值 v = dic.setdefault('k2','3456') print(dic,v) #更新,两种方式 dic.update({'k1':678,'k3':'678'}) print(dic) dic.update(k1=123,k3='ghj',k5='678') print(dic)
五:整理(必会的)
- 数字 int ()
- 字符串 replace find join strip startswith split upper lower format
- 列表 append extend insert
数字不能进行for循环,所以不能转换成列表
4. 元祖 一级元素不能修改、增加、删除
5. 字典 get updata keys values items 索引 for循环 in操作
6. 布尔值 0/1
False ==<< None “ ” () [ ] { }