1.写一个代码片段统计一个字符串中出现的字符及其个数。(至少2种方式:分别使用列表和字典来实现) > 例如对于字符串“abcaaabcd”,统计的结果是:a(4个)b(2个)c(2个)d(1个)
#方法一
str="abcaaabcd"
list=list(str)
t=[] #用来存储list去重后的列表
for x in list:
if x not in t:
t.append(x)
print(t)
for i in t:
print(f"{i}({list.count(i)}个)",end=" ")
#方法二
str="abcaaabcd"
list=list(str)
dict={}.fromkeys(list)
print(dict)
for i in dict.keys():
dict[i]=str.count(i)
print(dict)
for key,value in dict.items():
print(f"{key}({value}个)",end=" ")
2.循环提示用户输入,并将输入内容追加到列表中(如果输入N或n则停止循环),输入结束打印列表 如果用户输入的信息已经存在,则提示用户所输内容已存在,不再重复添加。 > 提示:对于输入内容,需要考虑大小写和空格的情况
list=[]
while True:
t = input("请输入信息(输入N或n退出输入):")
t=t.strip()
if t=="N" or t=="n":
break
else:
if t in list:
print("您输入的内容已存在,请重新输入!!")
else:
list.append(t)
for i in list:
print(i)
3.有如下值 li= [11,22,33,44,55,66,77,88,99,90] ,将所有大于 66 的值保存至字典的第一个key对应的列表中, 将小于 66 的值保存至第二个key对应的列表中。打印输出result。 > result = {'k1':[],'k2':[]}
li= [11,22,33,44,55,66,77,88,99,90]
result = {"k1":[],"k2":[]}
data1=[]
data2=[]
for i in li:
if i>=66:
data1.append(i)
else:
data2.append(i)
result["k1"]=data1
result["k2"]=data2
print(result)
#代码简化
li= [11,22,33,44,55,66,77,88,99,90]
result = {"k1":[],"k2":[]}
for i in li:
if i>=66:
result["k1"].append(i)
else:
result["k2"].append(i)
print(result)
4.经理:[曹 *** ,刘备,孙权]。 技术员:[曹 *** ,刘备,张飞,关羽]。 使用两个列表分别存储经理与技术员。 使用集合计算: (1) 即是经理也是技术员的有谁? (2) 是经理,但不是技术员都有谁? (3) 是技术员,但不是经理都有谁? (4)张飞是经理吗? (5) 身兼一职的都有谁? (6) 经理和技术员共有几个人?
manager=["曹 *** ","刘备","孙权"]
tech=["曹 *** ","刘备","张飞","关羽"]
t1=set(manager)
t2=set(tech)
print(f"既是经理也是技术员:{t1&t2}")
print(f"是经理,但不是技术员:{t1-t2}")
print(f"是技术员,但不是经理:{t2-t1}")
if "张飞" in t1:
print("张飞是经理")
else:
print("张飞不是经理")
print(f"身兼一职的有:{(t1-t2)|(t2-t1)}")
print(f"经理和技术员有:{len(t1|t2)}人")
#第四第五题
print('张飞是经理:',{'张飞'}<=manager)
print('身兼一职的:',tech^manager)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)