python-day02数据类型-字符串和列表的操作

  while循环:

   while True:

      条件语句。。。。。。。

   关于break和continue,break:跳出当前的循环

                                 contnue:跳出当次循环,继续下一次循环

     

 一、数据类型

  变量:用来记录状态的变化

  变量值的变化即状态的变化,程序运行的本质就是来处理一系列状态的变化

  基础数据类型:数字 字符串 列表 元组 字典

  1、数字

    十进制:10

    八进制数字:oct(10)  将10转化为八进制数字输出

             

    十六进制:hex(10)

    2、布尔值

    注意:非0数字自带的布尔值都是true

       非空字符串自带的布尔值都是true

      3、字符串

    字符串的内置方法:

     传参两种方法:    

name='songxiaonande'
age=20
print('姓名:%s'% name )
print('{0}{1}'.format('song','xiao'))
print('{name}'.format(name='songxiaona'))

       ①针对字符串的单个字符

1 print(name[3]) #打印指定下标对应的字符
2 print(name.count('0'))#对要查找的字符计数
3 print(name.count('b',0,3))????????????

                   查找某字符的下标:

1 name='songxiaonan'
2 print(name.find('o'))
3 print(name.index('a')

         find和index的区别:

     find如果查找到指定的字符的下标,则返回值为-1,程序继续执行

    index如果查找不到指定字符的下标,则报错,不再执行程序
 
②字母大小写
print(name.capitalize()) #首字母大写
print(name.lower()) #将所有字母小写
print(name.upper()) #将所有字母大写
print(name.islower())#判断是否所有字母都是小写
# print(name.isupper())#是否全都是大写
   ③指定字符宽度,输出格式
print(name.center(20,'*')) #指定宽度,并将内容居中,剩余字符用‘*’填充
print(name.ljust(40,'_')) #左对齐
print(name.rjust(40,'+')) #右对齐
#以上三行代码的输出:
    #*******abc23********
    #abc23___________________________________
    #+++++++++++++++++++++++++++++++++++abc23

          ④对字符串进行判断

print(name.isalpha())#是否全是字母
print(name.isalnum())#是否包含字母数字
print(name.isdigit())  #是否是整型数字
print(name.isnumeric())#是否是数字
print(name.isidentifier())#是否包含关键字
print(name.isspace())#是否是空格
print(name.istitle())#是否是标题(每个单词首字母大写)
print(name.endswith('a'))   #字符串以什么结尾

    

   ⑥字符串的切片

    字符串也可以看成是一种list,每个元素是一个字符,只是切片的结果也是一个字符串

print(name.zfill(20))#指定字符宽度是20,字符号右对齐,昨天中0    相当于rjust(20,'0')
print(name.rjust(20,'0'))
print(name[0:3])#从下标为0的字符开始到下标为3的字符,但是不包含下标为3的字符   顾头不顾尾
print(name[0:])#从下标为0的字符开始到最后
print(name[:])#全切
print(name[0:-1])#-1代表最后一个字符
print(name[0::2]) # 2代表不长  每2个进行取值
print(len(name))# 打印字符串的长度

   ⑦maketrans  创建字符映射转换表

name='songxiaonan'
table=str.maketrans('song','1234')#前创建一个映射表(翻译表),‘song’要翻译的字符串    ‘1234’代表翻译成啥
print(name.translate(table))

   ⑧strip()  删除指定字符

1 name='                 1abc   宋231                   '
2 print(name.lstrip())#去左边(开头)的空格
3 print(name.rstrip())#去右边(结尾)的空格
4 print(name.strip())#去除开头和结尾的空格
5 
6 name1='12345681'
7 print(name1.strip('13')) # 只要开头或者结尾中有1或者3就删除掉

   ⑨指定字符串中空格的长度

 name1="song	f"
 print(name1.expandtabs(10))#指定空格的长度
       print(round(3.5))   四舍五入

  四、列表

      定义列表   list=[] 空列表

                         list=['song','xiao','nan',22,1]

           1、增(追加和插入)

students=['songxiaonan','yanglin','yangmi','huojianua','linxinru']
students.append('111111111111111')#追加
students.insert(1,'99999999999999999')   #插入   注意:同时只能插入一个数据    1代表在下标为1的字符之前插入数据

    2、删(3中方式)

students.remove('yanglin')# 直接删除指定字符
del students[0]#根据下标删除
students.pop(1)#  根据下标删除,删除并返回值  如果不指定下标,则默认删除最后一个值

    3、改 

students[1]='00000000000000000'

    4、查

               ①切片(同字符串的切片)

        ②查找指定字符的下标  index

      如果列表中有两个相同的字符串,通过index查找只会返回查找到的第一个字符的下标

#如果一个列表name里面有两个'xixi',查找第二个xixi     (这种查找无意义)
name=['0',1,'haha',3,'xixi',99,'xixi']
num1=name.index('xixi')
num2=num1+name[num1+1:].index('xixi')+1
print(num2)

    5、复制

students3=students.copy()
students4=students
print(students3)
print(students4)
#注意:复制之后的变量有一个自己的内存地址    students4的内存地址和students的内存地址是一样的,相当于一个别名
print(id(students),id(students3))
print(id(students),id(students4))
#输出结果:13835144 13854536
#        13835144 13835144

#如果此时对students做操作,则students3不变,但是students4会跟着students变化

    6、其他用法

#计数
students.count('huojianua')

#合并两个列表
students2=['77','88']
students.extend(students2)
print(students)

#反转
students.reverse()
#排序   按照ASCTT码进行排序
students.sort()

小知识点:

   1、打印列表中的值的时候,输入编号:enumerate       

for i,ele in enumerate(shop_item):
        print(i,ele[0],ele[1])

 2、使打印出来的值,高亮

students=['songxiaonan','yanglin','yangmi','huojianua','linxinru']
print('33[43;31m %s 33[0m'%students) #格式:33[底色;字体颜色 字符串 33[0m

  以上代码的输出

    字背景颜色范围:40----49 

  40:黑 

  41:深红 

  42:绿 

  43:黄色 

  44:蓝色 

  45:紫色 

  46:深绿 

  47:白色 

  字颜色:30-----------39 

  30:黑 

  31:红 

  32:绿 

  33:黄 

  34:蓝色 

  35:紫色 

  36:深绿 

  37:白色 

  

         

 

     

      

           

           

原文地址:https://www.cnblogs.com/songxiaonan/p/5986238.html