for循环+数字类型补充

一、for循环

1、循环取值
 1.1列表类型:
   定义l=['a','b','c'],要提取列表中的值
   如果采用while循环的话:
    print(len(l))
    i=0
    while i<len(l):
       print(l[i])
             i+=1

   采用for循环的话会方便很多:
    l=['a','b','c']
    for item in l:
       print(item)

  这行代码让python从列表l中取出元素,并讲其存到变量item中,元素会被打印出来

  1.2字典类型:
   dic={'x':111,'y':222,'z':333}
   for item in dic:
      print(item)
   因此字典类型中默认打印的是key,所以以上结果为:x y z

    如果也想要取值的话:
   dic={'x':111,'y':222,'z':333}
   for k in dic: #k='x'
      print(k,dic[k])
      打印结果就是: x 111  y 222   z 333

  1.3 while循环 VS for循环:
   1.while循环:是条件循环,循环的次数取决于条件何时为False
      for循环:是迭代循环,循环的次数取决于数据中包含的元素的个数
    2.for循环专门用来取值,在循环取值方面要比while要强大。因此,遇到循环取值就选择for循环
    3.for循环可以取值列表、字典、和范围range

 1.4
   for+break 和while+break是一样的,break直接终止本层循环
   for+continue 和while+continue也一样,cont终止的是本次循环,不影响下次的循环
   for+else 和while+else也一样,else的子代块只有在while循环没有被break打断的情况下才会执行

 1.5 for循环嵌套
   for i in range(3)
      for j in range(2)
         print(i,j)
   每当外层循环循环一次,内层循环要循环一套
  

 二、数据类型补充
  数字类型:
    (一).整型
   1.类型转换:
      浮点型、纯数字的字符串可以转换为整型,如下:
     print(int(3.33))
     print(int('33333'))

   2.整型存一个值
   3.不可变类型

   (二)浮点型
   1.类型转换:
      整型、只有小数的字符串可以转换成浮点型,如下:
     print(float(333))
     print(float('33.333'))

 (三)补充:
   十进制转二进制:print(bin(13))
   十进制转八进制:print(oct(13))
   十进制转十六进制:print(hex(13))

 字符串类型:

  1.类型转换: 可以把任意类型专场字符串类型
   2.虽然只能存一个值,但是这个值可以有不止一个的字符,所以有序
   3.不可变类型
   4.按索引取值(正向取+反向取) :只能取
     字符串和列表一样,可以采用索引取值,但是列表取得是元素,字符串取得是字符,如下:
     正向取和列表一样,从0开始,不同的是字符串可以反向取,从后向前,从-1开始:
      msg='hello world'
      print(msg[0])  
      print(msg[-1])

   5.切片(顾头不顾尾,步长)--> 索引的扩展运用
      msg='hello world'
      print(msg[0:5:2])

    打印出来是:hlo 0代表的是从0起始,5代表到第五个,但是切片顾头不顾尾,所以不包括第五个。2是步长,意思是说隔两个数一次

     print(msg[0:])  

     打印出来是:hello world 如果不写终止,默认到最后,不写步长默认步长是1

  6.长度len:统计的是字符的个数
      msg='h你d'
      print(len(msg)) 打印出来是:3
   7.成员运算in和not in:判断一个子字符串是否存在与一个大字符串中
      msg='hello world'
      print('ho' in msg)  打印出来是False
      print('ho' not in msg)  打印出来是True   推荐使用这种
   8.移除空白strip:移除字符串左右两边的某些字符
      msg='      hello      '

     print(msg.strip(' '))
     print(msg.strip())
     因此去掉空格括号内可以打一个空格,也可以什么都不打,系统默认去掉空格,如果想要去掉*,括号就打*

   9.切分split: 把有规律的字符串切成列表从而方便取值
     info='egon:18:180:150'
     res=info.split(':',1)
     print(res)   打印出来是['egon', '18:180:150']
     print(res[1]) 打印出来是:18:180:150
     上面的代码中:的意思是说,从 :那里切分。1的意思是说,从左往右,遇到:不管后面还有没有,切分一次。

     res=info.split(':')  打印出来是['egon', '18', '180', '150']  括号内不写数字的话,就是说每一个:都要切分。

 补充(四星):
  1、strip,lstrip,rstrip
     msg='*****hello****'
     print(msg.strip('*'))
     print(msg.lstrip('*'))
     print(msg.rstrip('*'))


  2、lower,upper
     msg='AaBbCc123123123'
     print(msg.lower())
     print(msg.upper())

  3、startswith,endswith
     msg='alex is dsb'
     print(msg.startswith('alex'))
     print(msg.endswith('sb'))

  4、format的三种玩法  

    msg='my name is %s my age is %s' %('egon',18)  print(msg)

     msg='my name is {name} my age is {age}'.format(age=18,name='egon')  print(msg)

     format了解知识点:  msg='my name is {} my age is {}'.format(18,'egon')  msg='my name is {0}{0} my age is {1}{1}{1}'.format(18,'egon')  print(msg)

  5、split,rsplit
     cmd='get|a.txt|33333'
     print(cmd.split('|',1))
     print(cmd.rsplit('|',1))

  6、replace
     msg='kevin is sb kevin kevin'
     print(msg.replace('kevin','sb',2))

 

  7、isdigit   #当字符串内为纯数字时结果为True
     res='11111'
     print(res.isdigit())
     int(res)

 

  了解(**)
  1、find,rfind,index,rindex,count
     print('xxxkevin is sb kevin'.find('kevin'))    #寻找,没有显示-1
     print('xxxkevin is sb kevin'.index('kevin'))   #寻找,没有的话会报错
     print('xxxkevin is sb kevin'.rfind('kevin'))   #从右边寻找
     print('xxxkevin is sb kevin'.rindex('kevin'))   #从右边寻找

  2、center,ljust,rjust,zfill
     print('egon'.center(50,'*'))   #egon居中显示,*两端补充
     print('egon'.ljust(50,'*'))   #egon左边显示,*右边补充
     print('egon'.rjust(50,'*'))   #egon右边显示,*左边补充
     print('egon'.zfill(50))    #egon右边显示,默认0左边补充

  3、captalize,swapcase,title
     print('my name is kevin'.capitalize())  #整句话第一个字母大写
     print('AaBbCc'.swapcase())    #大写变小写,小写变大写
     print('my name is kevin'.title())    #每个单词首字母大写

   4、is其他
     name='egon123'
     print(name.isalnum())   #字符串由字母或数字组成
     print(name.isalpha())   #字符串只由字母组成

    print(name.islower())  #判断是否是小写
     print(name.isupper())  #判断是否是大写

     name='    '
     print(name.isspace())  #判断是否有空格
     msg='I Am Egon'
     print(msg.istitle())    #判断是否是首字母大写

 

 

  

 

转载于:https://www.cnblogs.com/zhangxin-/p/9997746.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值