当前位置:   article > 正文

武汉理工大学python123实验——集合字典_共有前缀python123

共有前缀python123

一、概览

二、参考代码

1.查找数字 #2663

  1. from collections import Counter
  2. a = list(input().split())
  3. s = set(a)
  4. b = [x for x in s if a.count(x)%2==1]
  5. print(b[0])
  6. # n = Counter(a)
  7. # m = [x for x in Counter(a) if n[x]%2==1]
  8. # print(m[0])
'
运行

2.共有前缀(列表/集合)#74033

  1. def f(strs):
  2. #定义函数,实现题目要求
  3. s=''
  4. # 前缀长度上限
  5. x = strs[0]
  6. # 将各单词的字母逐个放入集合中
  7. # 如果集合的len==1,则相同
  8. # 继续放下一个字母
  9. for i in range(len(x)):
  10. # 集合推导式简化代码
  11. set1 = set([c[i] for c in strs])
  12. if len(set1)==1:
  13. s+=x[i]
  14. else:
  15. break
  16. if s=='':
  17. return 'NOT FOUND'
  18. return s
  19. strs=list(input().split())
  20. print(f(strs))
'
运行

3.查找特征数(集合/列表)#74432

  1. a = input()
  2. ls = list(a.split())
  3. ls = list(map(int,ls))
  4. # 首先统计有哪些数据————集合
  5. # 自动剔除重复元素,比遍历快多了
  6. set1 = set(ls)
  7. lss = [] # 存放特征数
  8. # 统计set中的数在list中出现的次数————count()
  9. lss = [x for x in set1 if ls.count(x)==x]
  10. # for i in set1:
  11. # if ls.count(i) ==i:
  12. # lss.append(i)
  13. if len(lss)>0:
  14. #lss.sort(reverse = True)
  15. print(max(lss))
  16. else:
  17. print('-1')
'
运行

4.查找数列中重复数字 # 74483

  1. ###使用字典效率也比ls.count()高
  2. ###Counter返回的也是字典,二者的底层应该差不多
  3. from collections import Counter
  4. ###ls.count()复杂度,n^2
  5. ###字典复杂度,n
  6. a = list(input().split())
  7. s1 = set(a) # 这个不太耗时间
  8. # 使用 Counter 统计数字出现的次数,大于1则添加到结果列表
  9. counter = Counter(a)
  10. # 返回的是一个字典
  11. #(key,value)对应(元素,出现次数)
  12. # 速度比list.count()快!!
  13. ls = [int(x) for x in counter if counter[x] > 1]
  14. ls.sort()
  15. print(ls)
'
运行

5.个人数据合并 #79920

  1. import random
  2. s = int(input())
  3. random.seed(s)
  4. p = int(input())
  5. a = []
  6. b = []
  7. for i in range(5):
  8. a.append([i+1,random.randint(0,100),random.randint(0,100)])
  9. b.append([1,random.randint(0,100)])
  10. for i in range(5):
  11. a[i].insert(p,b[i][1])
  12. print(a)

6.集合添加元素 # 75194

  1. a = int(input())
  2. s = set()
  3. for i in range(a):
  4. s.add(input())
  5. print(len(s))

7. 通讯录(删除)#2433

  1. dic={'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法']}
  2. def menu():
  3. print('''\n欢迎使用PYTHON学生通讯录
  4. 1:添加学生
  5. 2:删除学生
  6. 3:修改学生信息
  7. 4:搜索学生
  8. 5:显示全部学生信息
  9. 6:退出并保存''')
  10. a = input()
  11. print(dic)
  12. menu()
  13. if a!='2':
  14. print('ERROR')
  15. else:
  16. b = input()
  17. if b in dic.keys():
  18. ##############按“键”删除
  19. del dic[b]
  20. print('Success')
  21. print(dic)
  22. else:
  23. print('No Record')
  24. print(dic)
'
运行

8.通讯录(查询)#2435

  1. dic={'张自强': ['12652141777', '材料'], '庚同硕': ['14388240417', '自动化'], '王岩': ['11277291473', '文法']}
  2. def menu():
  3. print('''\n欢迎使用PYTHON学生通讯录
  4. 1:添加学生
  5. 2:删除学生
  6. 3:修改学生信息
  7. 4:搜索学生
  8. 5:显示全部学生信息
  9. 6:退出并保存''')
  10. a = input()
  11. print(dic)
  12. menu()
  13. if a!='4':
  14. print('ERROR')
  15. else:
  16. b = input()
  17. if b in dic.keys():
  18. ##############按“键”删除
  19. print(" ".join([b,dic[b][0],dic[b][1]]))
  20. print('Success')
  21. print(dic)
  22. else:
  23. print('No Record')
  24. print(dic)
'
运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/一键难忘520/article/detail/808592
推荐阅读
  

闽ICP备14008679号