day 07

异常处理与内置数据类型总结

一.异常处理

try:
    # print (1/0)
    dict1={"a":b}
    dict1["b"]=3
except Exception as e:
    print (e)

二.数据类型内置方法总结

1.字符串内置方法总结

s='liuyouqiang hello'
1.索引取值:
print (s[0])
2.切片
print (s[0:6])
3.成员运算
print ('l' in s)
print ('d' not in s)
4.for循环
for i in s:
    print (i)
5.求长度len
print (len(s))
接下来都是字符串.出来的方法
6.s.strip()
print (s.strip('liu'))
7.s.lstrip()和s.rstrip()
print (s.lstrip('liu'))
8.starswith和endswith
print (s.startswith("liu"))
print (s.endswith("liu"))
9.s.find('u')
print (s.find('u'))
10.'*'.join(['a','b','c'])
11.s.split('*')
12center/ljust/rjust
print (s.center(50,'*'))
print (s.ljust(20,'*'))
print (s.rjust(20,'*'))
13.s.isdigit()是否是纯数字
s.isalpha()是否是纯字母
14.s.count()
print (s.count('a'))

二.列表的内置方法总结

列表内置方法总结
list1=[3,5,6,2,9]
1.索引取值
print (list1[0])
list1[0]=2
2.索引切片
print (list1[0:3])
3.成员运算
print (2 in list1)
4.for循环
for i in list1:
	print (i)
5.sort()
list1.sort()
print (list1.sort())
6.reverse()
list1.reverse()
print (list1.reverse())
7.append
list1.append('a')
8.index获取元素索引
9.clear()清空列表
list1.clear()
10.copy()复制一个列表
11.extend()只能对列表扩展
12.remove()移除
13.insert()在前面插入

三.字典内置方法总结

dic1={"name":'liuyouqiang',"age":20}
1.取值
dic1["name"]
print (dic1["age"])
2.成员运算
for i in dict1:
    print (i)
3.Keys()/values()/items
print (dic1.keys())
print (dic1.values())
print (dic1.items())
4.get()
5.update获取列表

三.作业

1.有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中,即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

s1=[11,22,33,44,55,66,77,88,99]
s2=[]
s3=[]
for i in s1:
    if i<66:
        s2.append(i)
    elif i>66:
        s3.append(i)
    else:
        pass
dict2={}
dict2['k1']=s2
dict2['k2']=s3

2.统计s='hello alex alex say hello sb sb'中每个单词的个数

s='hello alex alex say hello sb sb'
dict1={}
for line in s.split():    
    dict1.setdefault(line,s.count(line))
print (dict1)

3.写代码,有如下变量,请按照要求实现每个功能

name = " aleX"
# 1)    移除 name 变量对应的值两边的空格,并输出处理结果
		print (name.strip())
# 2)    判断 name 变量对应的值是否以 "al" 开头,并输出结果
		print (name.startswith('al'))
# 3)    判断 name 变量对应的值是否以 "X" 结尾,并输出结果
		print (name.endswith('X'))
# 4)    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
		print (name.replace('l','p'))
# 5)    将 name 变量对应的值根据 “l” 分割,并输出结果。
		print (name.split('l'))
# 6)    请输出 name 变量对应的值的第 2 个字符?
		print (name[2])
# 7)    请输出 name 变量对应的值的前 3 个字符?
		print (name[0:3])
# 8)    请输出 name 变量对应的值的后 2 个字符?
		print (name[-2:-1])
# 9)    请输出 name 变量对应的值中 “e” 所在索引位置?
		print (name[-2]+name[-1])
# 10)    获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
		print (name[:len(name)-1])
  1. 假设有一个文件test.txt,内有如下内容
    l=[
    {'name':'alex','age':84},
    {'name':'oldboy','age':73},
    {'name':'egon','age':18},
    ]
    需求:

    a.读取文件内容

    b.计算这三个人的年龄总和

with open('test.txt','r',encoding='utf8') as f:
    data=f.read()

data=data.strip('l=')
data1=eval(data)

sum=0
for i in range(len(data1)):
    sum+=data1[i]["age"]

print (sum)
posted @ 2019-08-30 19:27  ztzdhbg  阅读(107)  评论(0编辑  收藏  举报