题一:
有如下值集合 [11,22,33,44,55,66,77,88,99,90]
- 将所有大于 66 的值保存至字典的第一个 key 中
- 将小于 66 的值保存至第二个 key 的值中。
即: {‘k1’: 大于 66 的所有值,‘k2’: 小于 66 的所有值}
代码如下:
法一,自定义函数:
def f1(arr):
result = []
for item in arr:
if item > 66:
result.append(item)
return result
li = [11, 22, 33, 44, 55,66,77]
ret = f1(li)
print(ret)
法2,使用filter函数:
def f2(a):
if a > 66:
return True
li = [11, 22, 33, 44, 55,66,77]
res = filter(f2, li)
print(list(res))
注:filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
题二:
有如下列表,请按照功能要求实现每一个功能
li = [“hello”,‘seven’,[“mon”,[“h”,“kelly”],‘all’],123,446]
- 请输出"Kelly"
- 请使用索引找到 'all’元素并将其修改为"ALL"
代码如下:
li = ["hello",'seven',["mon",["h","kelly"],'all'],123,446]
s = li[2][1][1]
print(s.capitalize())
index = li[2].index("all")
li[2][index] = "ALL"
print(li)
注:capitalize()将字符串的第一个字母变成大写,其他字母变小写
结果:
题三:
转换
#转换
s = "alex"
# 将字符串 s="alex" 转换成列表
print(list(s))
# 将字符串 s="alex" 转换成元祖
print(tuple(s))
# 将列表 li=["alex","seven"] 转换成元组
li=["alex","seven"]
print(tuple(li))
#将元祖 tu=('Alex',"seven") 转换成列表
tu=('Alex',"seven")
print(list(tu))
# 将列表 li=["alex","seven"] 转换成字典且字典的 key 按照 10 开始向后递增
li=["alex","seven"]
li_dic = {}
for k,v in enumerate(li,10):
li_dic[k] = v
print(li_dic)
运行结果:
题四
有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少
代码如下:
sum = 0
for i in range(1, 5):
for m in range(1, 5):
for n in range(1, 5):
if i != m and i != n and m != n:
print(i*100 + m * 10 + n)
sum += 1
print(f'一共有{sum}个三位数。')
运行结果: