课后作业
1. 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
#解
list_min = []
list_max = []
dic = {'key1':[],'key2':[]}
for i in list1:
if i>66:
list_max.append(i)
else:
list_min.append(i)
dic['key1']=list_max
dic['key2']=list_min
print(dic)
2. 统计s='hello alex alex say hello sb sb'中每个单词的个数
结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
#解
dic = {}
s_list =s.split()
for i in s_list:
dic[i]=len(i)
print(dic)
3. 写代码,有如下变量,请按照要求实现每个功能
name = " aleX"
# 1)移除 name 变量对应的值两边的空格,并输出处理结果
name1 = name.split()
print(name1)
# 2)判断 name 变量对应的值是否以 "al" 开头,并输出结果
if name.startswith('al'):
print('True')
else:
print('False')
# 3)判断 name 变量对应的值是否以 "X" 结尾,并输出结果
if name.endswith('X'):
print('True')
else:
print('False')
# 4)将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
if 'l' in name:
name4 = name.replace('l','p')
print(name4)
else:
print(name)
# 5)将 name 变量对应的值根据 “l” 分割,并输出结果。
name5 = name.split('l')
print(name5)
# 6)请输出 name 变量对应的值的第 2 个字符?
print(name[1])
# 7)请输出 name 变量对应的值的前 3 个字符?
print(name[0:3])
# 8)请输出 name 变量对应的值的后 2 个字符?
print(name[-3:])
# 9)请输出 name 变量对应的值中 “e” 所在索引位置?
print(name.index('e'))
# 10)获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
name10_list = []
for i in name:
name10_list.append(i)
name10_list = name10_list[:-1]
print(name10_list)
4. 假设有一个文件test.txt,内有如下内容
l=[
{'name':'alex','age':84},
{'name':'oldboy','age':73},
{'name':'egon','age':18},
]
需求:
1. 读取文件内容
2. 计算这三个人的年龄总和
#解
with open(r'E:\PYTHON\py\day 08\test.txt','r') as f:
f = f.read()
print(f)
f = f.lstrip('l=')
f_list = eval(f)
# print(f_list)
# # print(type(f_list))
age_count = 0
for t in f_list:
age_count = age_count + t['age']
print(age_count)