【Python学习(七)——序列、列表、元组、range、字符串、字典、聚集、可 ...

打印 上一主题 下一主题

主题 923|帖子 923|积分 2769

Python学习(七)——序列、列表、元组、range、字符串、字典、聚集、可变类型&不可变类型

本文介绍了序列、列表、元组、range、字符串、字典、聚集、可变类型&不可变类型,仅作为本人学习时记录,感兴趣的初学者可以一起看看,欢迎批评区讨论,一起加油鸭~~~
心中默念:Python 简单好学!!!
(有其他编程语言基础,所以记录的可能对开端打仗编程的同学不太友爱,有题目欢迎留言)
序列

在python中,有这样一些类型,它们的成员是有序排列的,并且可以通过下标访问成员,这些类型称之为序列。
包括:列表、range、元组和字符串。
序列的通用操作


  • len(item):盘算容器中元素个数
  • del(item):删除变量(del有两种方式)
  • max(item):返回容器中元素最大值(假如是字典,只针对key比力)
  • min(item):返回容器中元素最小值(假如是字典,只针对key比力)
  • 切片:0123456789[::-2]---->97531(支持的数据类型:字符串、列表、元组)
  • +:合并(字符串、列表、元组)
  • *:重复(字符串、列表、元组)
  • in:元素是否存在(字符串、列表、元组、字典)
  • not in:元素是否不存在(字符串、列表、元组、字典)
  •             = == < <=:元素比力(字符串、列表、元组)
列表

界说



  • List(列表)是Python中使用最频仍的数据类型,在其他语言中通常叫做数组
  • 专门用于存储一串信息
  • 列表用==[ ]界说,数据之间使用,==分隔
  • 列表的索引从0开始
  • 索引就是数据在列表中的位置编号,索引又可以被称为下标
  • 注意:从列表中取值时,假如超出索引范围,程序会报错
创建列表

语法:列表名=[元素1,元素2,…]
示例代码

  1. # 列表的创建
  2. list1 = []  #空列表
  3. print(list1)
  4. print(type(list1))
  5. list2 = [1,2,3,False,True,'hello']
  6. print(list2)
  7. list3 = list()  # 类型转换:把参数转换为列表
  8. print(list3)
  9. list3 = list('1234567')  # 类型转换:str-->list
  10. print(list3)
  11. # 列表的索引
  12. print(list3[5])
  13. # 列表的切片
  14. print(list3[2:6:2])
  15. #列表的加法和乘法
  16. print(list3 + list2)
  17. print(list3 * 3)
  18. # 列表的成员运算
  19. print('1' in list3)
  20. print('1' in [1,2,3,4])
  21. print([1,2,3,4] < [2,3])
  22. # 内置函数  函数名()
  23. print(len(list3))  # 求元素个数
  24. print(max(list3))  # 求元素的最大值
  25. print(min(list3))  # 求元素的最小值
  26. # del list3  # 删除变量
  27. # print(list3)
  28. print('-' * 30)
  29. # 列表的遍历
  30. for i in list2:
  31.     print(i)
  32. for i,j in enumerate(list2):  # 枚举
  33.     print(i,j)
  34. for i in range(len(list2)):
  35.     print(i,list2[i])
  36. # 列表的常用方法method  变量.方法名()
  37. # 添加元素
  38. list3.append('666')
  39. print(list3)
  40. # 添加列表
  41. list3.extend([1,2,3])
  42. print(list3)
  43. # 插入元素
  44. list3.insert(2,'hello')
  45. print(list3)
  46. # 根据索引删除元素
  47. list3.pop(3)
  48. print(list3)
  49. # 根据元素删除
  50. list3.remove('7')
  51. print(list3)
  52. list3.append('hello')
  53. print(list3)
  54. list3.remove('hello')
  55. print(list3)
  56. # 清空列表
  57. list3.clear()
  58. print(list3)
  59. # 计算若干个人的平均年龄
  60. age = [10,20,30,40,23,45]
  61. # 直接求和sum()
  62. print(sum(age)/len(age))
  63. total = 0
  64. for i in age:
  65.     total += i
  66. print(total / len(age))
复制代码

元组

界说



  • Tuple(元组)与列表类似,不同之处在于元组的元素不能修改
  • 元组表示多个元素组成的序列
  • 用于存储一串信息,数据之间使用,分隔
  • 元组用()界说
示例代码

  1. # 元组的创建
  2. tuple1 = (1,2,3,True,'hello')
  3. print(tuple1)
  4. print(type(tuple1))
  5. list1 = [1]
  6. print(list1)
  7. # 元组里只有一个元素时,加一个逗号
  8. tuple2 = (1,)  # ()除了定义元组,还是数学中优先运算符号
  9. print(tuple2)
  10. print(type(tuple2))
  11. tuple3 = tuple()  # tuple():类型转换
  12. print(tuple3)
  13. print(type(tuple3))
  14. tuple4 = ()
  15. print(tuple4)
  16. print(type(tuple4))
  17. tuple5 = tuple('hello')  # str-->tuple
  18. print(tuple5)
  19. tuple6 = tuple([1,2,3,4])  # list-->tuple
  20. print(tuple6)
  21. list1 = list(tuple6)  # tuple-->list
  22. print(list1)
  23. str1 = str(tuple6)  # tuple-->str
  24. print(str1)
  25. print(type(str1))
  26. print(str1[2])
  27. # 序列的通用操作
  28. print('-'*30)
  29. # 索引
  30. print(tuple1[-1])
  31. # 切片
  32. print(tuple1[::-1])
  33. # len
  34. print(len(tuple1))
  35. print(max(tuple6),min(tuple6))
  36. # del
  37. del tuple5
  38. # print(tuple5)
  39. # +
  40. print(tuple1 + tuple6)
  41. # *
  42. print(tuple1 * 3)
  43. # in
  44. print(1 in tuple1)
  45. # 元组的常用方法
  46. a = tuple1.count('hello')  # 计数
  47. print(a)
  48. print(tuple1)
  49. a = tuple1.index(2)
  50. print(a)
  51. # 元组的遍历
  52. print('-' * 30)
  53. for i in tuple1:
  54.     print(i)
  55. for index,value in enumerate(tuple1):
  56.     print(index, value)
  57. for i in range(len(tuple1)):
  58.     print(i, tuple1[i])
复制代码

range

界说



  • 体系提供的内建函数 range(start,end,[step=1]),天生一个等差序列[start,end]
  • 注意序列属于不可变序列,不支持元素修改,不支持 + 和 * 操作
  • range一样平常用于for-in循环遍历

  • 原型:range([start,] stop [,step])
  • 功能:天生列表
  • 参数:


  • start:表示列表起始值,包罗,默认为0
  • stop:表示列表竣事值,但是不包罗
  • step:步长,默认为1
示例代码

  1. # range(start, end, step)
  2. print(list(range(10)))  # end
  3. print(list(range(2,10)))  # start, end
  4. print(list(range(2,10,3)))  # start, end, step
  5. for i in range(3):
  6.     print('hello')
  7. # 高斯求和
  8. total = 0
  9. for i in range(1000, 10001, 2):
  10.     total += i
  11. print(total)
  12. # 水仙花数:三位数,每一位数字的立方和 = 三位数本身
  13. # 123 1^3+2^3+3^3 = 123
  14. for i in range(100, 1000):
  15.     a = i % 10  # 个位
  16.     b = i % 100 // 10  # 十位 i // 10 % 10
  17.     c = i // 100  # 百位
  18.     if a ** 3 + b ** 3 + c ** 3 == i:
  19.         print(i)
  20.         
  21. # 使用字符串索引的方式
  22. for i in range(100, 1000):
  23.     t = str(i)
  24.     a = int(t[2])
  25.     b = int(t[1])
  26.     c = int(t[0])
  27.     if a ** 3 + b ** 3 + c ** 3 == i:
  28.         print(i)
复制代码

字符串

界说



  • 字符串就是一串字符,是编程语言中表示文本的数据类型
  • 在Python中可以使用一对双引号或者一对单引号界说一个字符串
  • 字符串是以单引号或者双引号括起来的任意文本,也可以是以三引号引起来的任意文本
示例代码

  1. s1 = 'hello world'
  2. # 序列的通用操作
  3. print(s1 + 'mia')
  4. print(s1 * 3)
  5. print(len(s1))
  6. print(max(s1),min(s1))
  7. print(ord('w'))
  8. print(ord(' '))
  9. # del s1
  10. print('s' in s1)
  11. print('abcd' < 'abce')
  12. print('cd' < 'abcd')
  13. # 字符串的遍历
  14. for i in s1:
  15.     print(i)
  16. for index,value in enumerate(s1):
  17.     print(index,value)
  18. for i in range(len(s1)):
  19.     print(i,s1[i])
  20. # 类型转换
  21. print(str(12),type(str(12)))  # int-->str
  22. print(str([1,2,3,4]),type(str([1,2,3,4])))  # list-->str
  23. print(str((1,)),type(str((1,))))   # tuple-->str
  24. # 常用方法
  25. print(s1.islower())
  26. print(s1.isupper())
  27. print(s1.isdigit())
  28. print(s1.count('o'))
  29. print(s1.strip())  # 去掉空格
  30. print(s1.split(' '))  # 分隔字符串
  31. print(s1.find('o',5,8))
  32. print('#'.join(['111','222','333']))  # 连接
  33. # 字符串的统计
  34. s = input('请输入一篇文章:')
  35. # 字母的个数、数字的个数、符号的个数
  36. a, b, c = 0, 0, 0
  37. for i in s:
  38.     if i.isdigit():
  39.         b += 1
  40.     elif i.isalpha():
  41.         a += 1
  42.     else:
  43.         c += 1
  44. print(a, b, c)
复制代码

字典

界说



  • dictionary(字典)是除列表以外 python之中最机动的数据类型
  • 字典同样可以用来存储多个数据
  • 通常用于存储描述一个物体的相干信息
  • 和列表的区别:列表是有序的对象聚集;字典是无序的对象聚集

  • 字典用{}界说
  • 字典使用键值对存储数据,键值对之间使用==,==分隔
  • 键key是索引
  • 值value是数据
  • 键和值之间使用==:==分隔
  • 键必须是唯一的
  • 值可以取任何数据类型,但键只能使用字符串、数组或元组
示例代码

  1. # 字典的创建
  2. d = {
  3.     'name':'mia',  # 键值对
  4.     'gender':'female',
  5.     'name':'jack',  # 键重复的话,会覆盖掉之前的值
  6. }
  7. print(d)
  8. print(type(d))
  9. d = {}
  10. print(d)
  11. print(type(d))
  12. d = dict()
  13. print(d,type(d))
  14. d = {
  15.     'name':'mia',  # 键值对
  16.     'gender':'female',
  17. }
  18. d['height'] = 170
  19. print(d)
  20. # 获取键值对
  21. print(d['name'])
  22. # 修改键值对
  23. d['gender'] = 'male'
  24. print(d)
  25. # del(d)
  26. # print(d)
  27. # in
  28. print('age' in d)
  29. # 字典的遍历
  30. for i in d:
  31.     print(i,d[i])
  32. print('-' * 30)
  33. for k, v in d.items():
  34.     print(k,v)
  35. for k in d.keys():
  36.     print(k)
  37. for v in d.values():
  38.     print(v)
  39. # 字典的常用方法
  40. d.pop('gender')
  41. print(d)
  42. a = d.copy()
  43. print('a的键值对', a)
  44. print(d.get('name'))
  45. d.popitem()  # 从后往前删一个,入栈push出栈pop
  46. print('pop',d)
  47. d.update({'age':18})
  48. print(d)
  49. d.clear()
  50. print(d)
复制代码

聚集

界说



  • 不允许有重复元素,假如添加重复元素,则会自动过滤,可以进行交集、并集的运算
  • 是一种无序且无重复元素的数据布局
  • 与dict类似,是一组key的聚集(不存储value)
示例代码

  1. # 集合的创建
  2. s = set()
  3. print(s,type(s))
  4. s = {1,2,3,4,1,2}
  5. print(s,type(s))
  6. s = set([1,2,3,1]) # list-->set
  7. print(s)
  8. s = set((1,2,3))  # tuple-->set
  9. print(s)
  10. s = set('123')  # str-->set
  11. print(s)
  12. s = set({1:'a','a':2})  # dict-->set:默认取key
  13. print(s)
  14. # in
  15. print(1 in s)
  16. print(2 in s)
  17. print(len(s))
  18. print(max({1,2,3}),min({1,2,3}))
  19. # del s
  20. # print(s)
  21. # 集合不支持索引!!
  22. # 集合的遍历
  23. print('-' * 30)
  24. for i in s:
  25.     print(i)
  26. # 常用方法
  27. s.remove('a')
  28. print(s)
  29. s.update({2,3,4,5,6,7,6,5})
  30. print(s)
  31. s.add(9)
  32. print(s)
  33. s.add(1)
  34. print(s)
  35. # 交集 并集
  36. s2 = {5,6,7,8,9}
  37. print(s & s2)
  38. print(s | s2)
  39. # 列表去重
  40. score = [80,70,60,80,70,60,40]
  41. s = set(score)
  42. print(s)
  43. d = {}
  44. # 统计各个分数都有几个学生
  45. for i in s:
  46.     t = score.count(i)
  47.     print('得分为%d的学生有%d个人' %(i,t))
  48.     d[i] = t
  49. print(d)
  50. for k,v in d.items():
  51.     print('得分为%d的学生有%d个人' % (k, v))
复制代码

可变类型&不可变类型

不可变数据类型在创建后,其值就不能被改变。Python中的以下数据类型是不可变的:


  • 数字(例如:int、float、complex)
  • 字符串(例如:str,不支持使用索引的方式进行修改)
  • 元组(例如:tuple)
  • 布尔类型(例如:bool)
可变类型
可变数据类型的值可以在创建后被改变。Python中以下数据类型的可变的:


  • 列表(例如:list)
  • 字典(例如:dict)
  • 聚集(例如:set)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

道家人

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表