python的一些高级特性

本文介绍了Python编程中的一些高级特性,包括slice切片操作,详细阐述了如何进行有效的切片获取列表部分元素。接着讨论了迭代的概念,特别是如何使用列表生成式快速构建列表。重点讲解了生成器(generator),包括如何创建生成器,以及利用函数配合yield关键字生成自定义的生成器。最后,解释了Iterator迭代器的工作原理。
摘要由CSDN通过智能技术生成
目录:
    1.slice切片
    2.迭代
    3.列表生成式
    4.生成器(generator)
    5.迭代器(Iterator)

1.slice切片
    python slice切片是一个 无需通过下标即可 简单快速获取list、tuple或str中部分元素的方法。下面我们通过简单的案例去学习它的使用。
   
   
   
  1. '''
  2. list遍历
  3. '''
  4. list_name=["andy","alice","elic","wendy","jack","cendy","lily","pony","robot"]
  5. length=len(list_name)
  6. #list下标以0开始,结束位置元素不被包括
  7. #print(list_name[开始位置:结束位置:步长])
  8. #遍历输出list前三项的list
  9. print('list_name[0:3] =',list_name[0:3])
  10. #从尾部遍历,相当于list取反
  11. print('list_name[::-1] =',list_name[::-1])
  12. print('list_name[-1::-1] =',list_name[-1::-1])
  13. #步长为2,遍历输出list
  14. print('list_name[::2] =',list_name[::2])
  15. #类是与copy
  16. print('list_name[::] =',list_name[::])
  17. print('list_name[0:length+1] =',list_name[0:length+1])
  18. #从最后倒序获取到-5
  19. print('list_name[-1:-5:-1] =',list_name[-1:-5:-1])
  20. #从第下标为4的地方开始获取
  21. print('list_name[4:] =',list_name[4:])
  22. #获取最后一位
  23. print('list_name[-1:] =',list_name[-1:])
  24. '''
  25. tuple遍历
  26. '''
  27. print("-------------------------------------")
  28. #tuple中slice的使用一致
  29. tuple_name=("andy","alice","elic","wendy","jack","cendy","lily","pony","robot")
  30. print('list_name[4:] =',list_name[4:])
  31. print('tuple_name[-1:] =',tuple_name[-1:])
  32. '''
  33. str遍历
  34. '''
  35. print("-------------------------------------")
  36. #str中slice的使用也一致
  37. string="hello my name is andy!"
  38. print(string[::])
  39. print(string[5:])
  40. print(string[::-1])
  41. # 去除空格
  42. trim_str=""
  43. i=0
  44. while i<len(string)+1:
  45. if string[i:i+1] ==' ':
  46. pass
  47. else:
  48. trim_str=trim_str+string[i:i+1]
  49. i=i+1
  50. print("trim_str=",trim_str)
 输出结果:
   
   
   
  1. D:\python3\python.exe D:/pycharm/workspace/demo/py6.py
  2. list_name[0:3] = ['andy', 'alice', 'elic']
  3. list_name[::-1] = ['robot', 'pony', 'lily', 'cendy', 'jack', 'wendy', 'elic', 'alice', 'andy']
  4. list_name[-1::-1] = ['robot', 'pony', 'lily', 'cendy', 'jack', 'wendy', 'elic', 'alice', 'andy']
  5. list_name[::2] = ['andy', 'elic', 'jack', 'lily', 'robot']
  6. list_name[::] = ['andy', 'alice', 'elic', 'wendy', 'jack', 'cendy', 'lily', 'pony', 'robot']
  7. list_name[0:length+1] = ['andy', 'alice', 'elic', 'wendy', 'jack', 'cendy', 'lily', 'pony', 'robot']
  8. list_name[-1:-5:-1] = ['robot', 'pony', 'lily', 'cendy']
  9. list_name[4:] = ['jack', 'cendy', 'lily', 'pony', 'robot']
  10. list_name[-1:] = ['robot'</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值