鱼C论坛

 找回密码
 立即注册
查看: 2261|回复: 0

[技术交流] 《零基础入门学习python》第十六讲笔记:序列!序列!

[复制链接]
发表于 2017-7-31 10:40:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
列表 、元组和字符串的共同点
--都可以通过索引得到每一个元素
--默认索引值总是从0开始
--可以通过分片的方法得到一个范围内的元素的集合
--有很多共同的操作符(重复操作符*、拼接操作符+、成员关系操作符 in & not in)


重复反馈过程的活动称为迭代,其目的通常是为了接近并达到所需的目标或结果
每次对过程重复称一次迭代, 每一次迭代得到的结果用来做下一次迭代的初始值,迭代就是一个for循环

序列的内置方法:
list() 把一个可迭代对象转换为列表,help(list)
tuple() 把一个可迭代对象转换为元组,help(tuple),跟list方法一摸一样
str()把obj对象转换为字符串,help(str)
len() f返回参数长度
max() 返回序列或者参数集合中的最大值
min()返回序列或者参数集合中的最小值
sum(iterable[,start=0]) 返回序列iterable和可选参数start的总和
sorted() 把一个序列排序,跟list.sort()作用一样
reversed()原地逆转
enumerate() 打印索引值和其对应的值
zip(a,b) 把两个列表索引值对应的item组合成一个元组

使用max()和min()需保证序列或参数的数据类型是统一的。

  1. >>> a = list()  # 不带参数,创建一个空列表 作用跟 a = [  ]  一样
  2. >>> a
  3. []
  4. >>> b = 'I love FishC.com'
  5. >>> b = list(b)  # 带参数,首先创建一个空列表,然后将b通过索引得到的值依次添加到新列表中
  6. >>> b
  7. ['I', ' ', 'l', 'o', 'v', 'e', ' ', 'F', 'i', 's', 'h', 'C', '.', 'c', 'o', 'm']
  8. >>> c = (1,1,2,3,5,8,13,21,34)   
  9. >>> c = list(c)   # 带参数,同理,将元组按索引依次添加到新列表中
  10. >>> c
  11. [1, 1, 2, 3, 5, 8, 13, 21, 34]
复制代码

  1. >>> len(a) # 因a列表是空的,所以打印0
  2. 0
  3. >>> len(b)  # 打印b列表的长度
  4. 16
  5. >>> b
  6. ['I', ' ', 'l', 'o', 'v', 'e', ' ', 'F', 'i', 's', 'h', 'C', '.', 'c', 'o', 'm']
复制代码

  1. >>> max(1,2,3,4,5)  # 得到最大值
  2. 5  
  3. >>> max(b)
  4. 'v'
  5. >>> numbers = [1,18,13,0,-98,34,54,76,32]   
  6. >>> max(numbers)   # 能识别负数
  7. 76
  8. >>> min(numbers)   # 得到最小值
  9. -98
  10. >>> chars = '1234567890'
  11. >>> min(chars)  # 字符串也可以比大小,按照ASCII
  12. '0'
  13. >>> tuple1 = (1,2,3,4,5,6,7,8,9,0)
  14. >>> max(tuple1)  # 得到元组的最大值
  15. 9
  16. >>> tuple2 = (3.1,2.3,3.4)
  17. >>> sum(tuple2)   # 元组求和
  18. 8.8
  19. >>> numbers
  20. [1, 18, 13, 0, -98, 34, 54, 76, 32]
  21. >>> sum(numbers)  
  22. 130
  23. >>> sum(numbers,8)  # 两个参数,最终得到numbers +8
  24. 138
  25. >>> chars
  26. '1234567890'
  27. >>> sum(chars)   # 字符串不可以求和
  28. Traceback (most recent call last):
  29.   File "<pyshell#138>", line 1, in <module>
  30.     sum(chars)
  31. TypeError: unsupported operand type(s) for +: 'int' and 'str'
  32. >>> sorted(numbers)   # 从小到大排序
  33. [-98, 0, 1, 13, 18, 32, 34, 54, 76]
  34. >>> reversed(numbers)
  35. <list_reverseiterator object at 0x0000000003229198>
  36. >>> list(reversed(numbers))   # 逆向排序,比列表形式输出
  37. [32, 76, 54, 34, -98, 0, 13, 18, 1]
  38. >>> enumerate(numbers)
  39. <enumerate object at 0x0000000003226E10>
  40. >>> list(enumerate(numbers))   # 将索引号和对应item值组成一个元组,最终以list输出
  41. [(0, 1), (1, 18), (2, 13), (3, 0), (4, -98), (5, 34), (6, 54), (7, 76), (8, 32)]
  42. >>> a = [1,2,3,4,5,6,7,8]
  43. >>> b = [4,5,6,7,8]
  44. >>> zip(a,b)
  45. <zip object at 0x000000000323E3C8>
  46. >>> list(zip(a,b))   # 将a 和  b 相同索引值对应的item组成一个元组,不能配对的舍弃掉,最终以list输出
  47. [(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]
  48. >>>
复制代码

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-26 04:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表