目录
1.有如下值集合,按要求处理数据
[11,22,33,44,55,66,77,88,99,90...]
,将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中,结果为{'k1': 大于66的所有值, 'k2': 小于66的所有值}
。
代码如下:
nums = [11,22,33,44,55,66,77,88,99,90]
k1_list = []
k2_list = []
for i in nums:
if i > 66:
k1_list.append(i)
elif i < 66:
k2_list.append(i)
nums_dict = {'k1':k1_list,'k2':k2_list}
print(nums_dict)
运行结果:
{'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55]}
2.对以下字符串进行处理
统计s='hello jason tank tank jason sean say hello dsb dsb sb'
中每个单词的个数,结果为{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
。
代码如下:
s='hello jason tank tank jason sean say hello dsb dsb sb'
s = s.split(' ')
s_dict ={}
for i in s:
if i in s_dict.keys():
s_dict[i] += 1
else:
s_dict[i] = 1
print(s_dict)
运行结果:
{'hello': 2, 'jason': 2, 'tank': 2, 'sean': 1, 'say': 1, 'dsb': 2, 'sb': 1}
3.有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
题目要求:
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}`
linuxs={'wupeiqi','oldboy','gangdan'}
1. 求出即报名python又报名linux课程的学员名字集合
2. 求出所有报名的学生名字集合
3. 求出只报名python课程的学员名字
程序代码:
pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
linuxs={'wupeiqi','oldboy','gangdan'}
# 即报名python又报名linux课程的学员名字
py_lin = pythons & linuxs
print(py_lin)
# 所有报名的学院名字
all_list = pythons | linuxs
print(all_list)
# 求出只报名python课程学员名字
only_py = pythons - linuxs
print(only_py)
运行结果:
{'wupeiqi', 'gangdan'}
{'alex', 'biubiu', 'egon', 'wupeiqi', 'gangdan', 'yuanhao', 'oldboy'}
{'yuanhao', 'alex', 'biubiu', 'egon'}
4.有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
程序代码:
# 方法一
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
l_dict = {} # 定义一个空的字典 用于存放l元素下标以及元素内容
index = 0 # 定义一个变量用于存放索引
# 循环列表,将去重后的数据放入字典中
for i in l:
# 如果列表元素已经在字典中出现过就跳过
if i in l_dict.values() :
continue
else:
# 如果没出现过就将这个元素放入到字典中
l_dict.setdefault(index,i)
# 放入之后索引值 +1
index += 1
# 定义一个新的列表
new_list = []
# 将字典中的值按照原有位置重新放入新的列表中
for i in l_dict.keys():
new_list.append(l_dict[i])
print(new_list)
# 改进版
l=[
{'name':'egon','age':18,'sex':'male'},
{'name':'alex','age':73,'sex':'male'},
{'name':'egon','age':20,'sex':'female'},
{'name':'egon','age':18,'sex':'male'},
{'name':'egon','age':18,'sex':'male'},
]
new_list = [] # 定义一个新列表
# 循环原有列表
for i in l :
# 如果原有列表中的元素不在新的列表中
if i not in new_list :
# 将这个元素放入列表中
new_list.append(i)
print(new_list)