本站消息

站长简介/公众号


站长简介:高级软件工程师,曾在阿里云,每日优鲜从事全栈开发工作,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-12(16)

2021-01(43)

实验二: 序列练习

发布于2021-10-18 00:18     阅读(915)     评论(0)     点赞(21)     收藏(2)



一、实验目的  

1、掌握Python序列的基本操作,包括:列表、元组、字典和集合;

2、熟练掌握切片操作;

3、掌握运用列表推导式、生成器表达式等;

4、熟练使用Python内置函数max()、min()、sorted()等。

二、实验题目及结果

1、练习列表、元组的基本操作:+、*、len()、count()、[]、in等。练习列表元素的增加、删除、访问和排序等。

  1. >>> [2,3] + [5,6] '将元素添加到列表(元组)中'
  2. [2, 3, 5, 6]
  3. >>> (2,3,4) + (5,6)
  4. (2, 3, 4, 5, 6)
  5. >>> alist = [3,5]
  6. >>> alist * 3 '重复列表(元组)中的元素形成新列表(元组)'
  7. [3, 5, 3, 5, 3, 5]
  8. >>> (2,3,4,5) * 3
  9. (2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5)
  10. >>> alist = [1,2,3,4,5,6,7,8,9,0]
  11. >>> len(alist) '返回列表(元组)中元素个数'
  12. 10
  13. >>> tuple = (2,3,4,6,7,8,0,1)
  14. >>> len(tuple)
  15. 8
  16. >>> list = [1,2,3,3,5,2,3,3,6,7,2] '统计列表(元组)中指定元素个数'
  17. >>> list.count(3)
  18. 4
  19. >>> tuple = (1,3,4,5,3,2,5,7,4,8,9)
  20. >>> tuple.count(5)
  21. 2
  22. >>> list = [1,3,4,2,5,6,8] '列表(元组)切片操作'
  23. >>> print(list[:])
  24. [1, 3, 4, 2, 5, 6, 8]
  25. >>> print(list[3:])
  26. [2, 5, 6, 8]
  27. >>> tuple = (1,2,3,4,5,6,7,8,9)
  28. >>> tuple[:2]
  29. (1, 2)
  30. >>> tuple[::-1]
  31. (9, 8, 7, 6, 5, 4, 3, 2, 1)
  32. >>> 3 in [1,2,3,4] '列表(元组)成员判断'
  33. True
  34. >>> [3] in [1,2,3,4]
  35. False
  36. >>> 5 in (1,2,3,(4,5))
  37. False
  38. >>> 5 in (3,4,5)
  39. True
  40. >>> alist = [3,4,5] '列表元素增加'
  41. >>> alist = alist + [9] '利用+运算符'
  42. >>> alist
  43. [3, 4, 5, 9]
  44. >>> alist = [2,3,4]
  45. >>> alist.append(5) 'append():尾部增加一个元素'
  46. >>> alist
  47. [2, 3, 4, 5]
  48. >>> list = [1,2,3,4,5]
  49. >>> list.insert(2,5) 'insert():列表中任意位置插入一个元素'
  50. >>> list
  51. [1, 2, 5, 3, 4, 5]
  52. >>> list.extend([6,7]) 'extend():将另一列表中元素追加到当前列表后'
  53. >>> list
  54. [1, 2, 5, 3, 4, 5, 6, 7]
  55. >>> list += '123' '+=:类似extend()方法'
  56. >>> list
  57. [1, 2, 5, 3, 4, 5, 6, 7, '1', '2', '3'] '列表元素删除'
  58. >>> del list[2] '利用del命令删除指定位元素'
  59. >>> list
  60. [1, 2, 3, 4, 5, 6, 7, '1', '2', '3']
  61. >>> list.pop(3) 'pop():删除并返回指定位置元素,默认最后一个元素'
  62. 4
  63. >>> list
  64. [1, 2, 3, 5, 6, 7, '1', '2', '3']
  65. >>> list.remove(5) 'remove():删除首次出现指定元素'
  66. >>> list
  67. [1, 2, 3, 6, 7, '1', '2', '3'] '列表的访问'
  68. >>> list[3] '通过下标直接访问元素'
  69. 6
  70. >>> list.index(7) 'index():获取指定元素首次出现的下标'
  71. 4
  72. >>> list.count(0) 'count():统计指定元素出现次数'
  73. 0
  74. >>> list.count(1)
  75. 1
  76. >>> list = [2,3,5,4,6,7] '列表排序'
  77. >>> list.sort() 'sort():原地排序,无返回值,默认升序'
  78. >>> list
  79. [2, 3, 4, 5, 6, 7]
  80. >>> list.sort(reverse = True) '降序'
  81. >>> list
  82. [7, 6, 5, 4, 3, 2]
  83. >>> sorted(list) 'sorted():排序返回新列表'
  84. [2, 3, 4, 5, 6, 7]
  85. >>> sorted(list,reverse = True)
  86. [7, 6, 5, 4, 3, 2]
  87. >>> list.reverse() 'reverse():原地逆序'
  88. >>> list
  89. [2, 3, 4, 5, 6, 7]

编程题1:输入一个包含若干整数的列表,输出该列表中元素的最大值、最小值,元素的个数,列表元素的和等。并输出一个新列表,要求新列表中只包含原列表中的偶数。

列表推导式:

  1. #newlist = [x for x in list if x%2 == 0]
  2. newlist = []
  3. for x in list:
  4. if x%2 == 0:
  5. newlist.append(x)

2、练习字典的基本操作:添加、删除、是否为空字典、取字典中所有的key/value、判断key是否存在等。

  1. >>> dict = {'name':'dong','sex':'male'}
  2. >>> dict
  3. {'name': 'dong', 'sex': 'male'}
  4. >>> dict['age'] = 18 '字典的添加'
  5. >>> dict['address'] = 'chinese'
  6. >>> dict
  7. {'name': 'dong', 'sex': 'male', 'age': 18, 'address': 'chinese'}
  8. >>> dict.update({'a':'a'}) 'update()更新字典中键值对,可修改值,也可添加元素'
  9. >>> dict
  10. {'name': 'dong', 'sex': 'male', 'age': 18, 'address': 'chinese', 'a': 'a'}
  11. >>> del dict['name'] '字典的删除'
  12. >>> dict
  13. {'sex': 'male', 'age': 18, 'address': 'chinese'}
  14. >>> dict.pop('age')
  15. 18
  16. >>> dict
  17. {'sex': 'male', 'address': 'chinese'}
  18. >>> dict.popitem()
  19. ('address', 'chinese')
  20. >>> dict = {'name': 'dong', 'sex': 'male', 'age': 18, 'address': 'chinese'}
  21. >>> dict.clear() '删除整个字典'
  22. >>> dict
  23. {}
  24. >>> dict = {} '判断字典是否为空'
  25. >>> if dict:
  26. ... print("this dict is not empty")
  27. ... else:
  28. ... print("this dict is empty")
  29. ...
  30. this dict is empty
  31. >>> dict = {'name': 'dong', 'sex': 'male', 'age': 18, 'address': 'chinese'}
  32. >>> dict.keys() '读取字典的键'
  33. dict_keys(['name', 'sex', 'age', 'address'])
  34. >>> dict.values() '读取字典的值'
  35. dict_values(['dong', 'male', 18, 'chinese'])
  36. >>> 'name' in dict '用in方法判断字典中的键是否存在'
  37. True

编程题2:输入两个分别包含若干整数的列表listA和listB,要求使用listA中的元素作为键,使用listB中的元素作为值,生成一个字典,并输出。

zip():将多个可迭代对象元素对应元素打包成一个个元组,返回包含这些元组的zip对象

编程题3:从['Python','Java','C','C++','C#']中随机生成20个元素,然后统计每个元素的出现次数。例如:随机生成列表al的元素如下图所示,d为统计后生成的字典。

 举一反三:改变统计的数据源,可以扩展为“文本词频统计”类问题。例如:名著中人物出场次数的统计;新闻报道、科研论文、政府工作报告等词频统计类应用。

3、练习集合的基本操作:添加、删除、是否为空集、并、交、差等。

  1. >>> set = set(range(8,14)) '集合的创建'
  2. >>> set
  3. {8, 9, 10, 11, 12, 13}
  4. >>> set.add(15) '集合元素的增加'
  5. >>> set
  6. {8, 9, 10, 11, 12, 13, 15}
  7. >>> set.pop() '集合元素的删除'
  8. 8
  9. >>> set
  10. {9, 10, 11, 12, 13, 15}
  11. >>> set.remove(10) '删除指定元素'
  12. >>> set
  13. {9, 11, 12, 13, 15}
  14. >>> del set
  15. >>> set
  16. <class 'set'>
  17. >>> set = {1,2,3,4,5}
  18. >>> set.clear()
  19. >>> set
  20. set()
  21. >>> set = {} '判断是否为空集合'
  22. >>> if set:
  23. ... print("not empty")
  24. ... else:
  25. ... print("empty")
  26. ...
  27. empty
  28. >>> a_set = {1,2,3,4,5}
  29. >>> b_set = {2,3,4,7,8,9}
  30. >>> a_set & b_set '交集'
  31. {2, 3, 4}
  32. >>> a_set | b_set '并集'
  33. {1, 2, 3, 4, 5, 7, 8, 9}
  34. >>> a_set - b_set '差集'
  35. {1, 5}
  36. >>> b_set - a_set
  37. {8, 9, 7}

编程题4:创建两个集合,返回这两个集合的并集和差集。

原文链接:https://blog.csdn.net/weixin_49811734/article/details/120589033







所属网站分类: 技术文章 > 博客

作者:787sds

链接:https://www.pythonheidong.com/blog/article/1060706/36128f82239d2e073d2a/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

21 0
收藏该文
已收藏

评论内容:(最多支持255个字符)