ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python02-数据类型

2022-08-24 11:30:50  阅读:171  来源: 互联网

标签:name 数据类型 王二 sdf 李四 python02 print bob


身份验证

  • is;type(name) is int

    返回值为true或false、

  • is not; type(name) is not int

    返回值为true或false

三元运算
  • d = a if a > 15 else b
    d = 值1 if 条件A else值2
    
    如果条件A成立,就取左边的值1,否则取值2
    

数据类型-列表

  • extend 合并

    n1 = ["bob","as","sdf"]
    name = ["张三","李四","王二"]
    
    name.extend(n1)
    print(name)
    
    
    ['张三', '李四', '王二', 'bob', 'as', 'sdf']
    
  • 列表嵌套

    n1 = ["bob","as","sdf"]
    name = ["张三","李四","王二"]
    
    name.insert(1,n1)
    print(name)
    
    ['张三', ['bob', 'as', 'sdf'], '李四', '王二']
    
    n1 = ["bob","as","sdf"]
    name = ["张三","李四","王二"]
    
    name.insert(1,n1)
    print(name)
    print(name[1][1])
    
    
    ['张三', ['bob', 'as', 'sdf'], '李四', '王二']
    as
    
  • 删除操作

    • del删

      name = ["张三","李四","王二","bob","as","sdf"]
      del name[1]
      print(name)
      
      
      ['张三', '王二', 'bob', 'as', 'sdf']
      
    • pop删

      name = ["张三","李四","王二","bob","as","sdf"]
      print(name.pop())
      print(name.pop(1))
      
      sdf
      李四
      
    • clear清空

      name = ["张三","李四","王二","bob","as","sdf"]
      print(name.clear())
      
      
      None
      
  • 修改操作

    name = ["张三","李四","王二","bob","as","sdf"]
    name[0]="123"
    print(name)
    
    ['123', '李四', '王二', 'bob', 'as', 'sdf']
    
  • 查操作

    name = ["张三","李四","王二","bob","as","sdf"]
    print(name.index("bob"))#返回从左开始匹配到的第一个eva的索引
    print(name.count("bob"))#返回eva的个数
    
    3
    1
    
  • 切片 #原列表没有变化

    • 切片的特性是顾头不顾尾,即start的元素会被包含,end-1是实际取出来的值
    name = ["张三","李四","王二","bob","as","sdf"]
    print(name[1:4])
    print(name[1:-1])
    print(name[1:])  #:后面不写 就是取到最后
    print(name[:3])  #:前面不写 就是从头取
               
    ['李四', '王二', 'bob']
    ['李四', '王二', 'bob', 'as']
    ['李四', '王二', 'bob', 'as', 'sdf']
    ['张三', '李四', '王二']
    
    • 倒着切。倒着切也是从左往右切
    name = ["张三","李四","王二","bob","as","sdf"]
    print(name[-5:-1])
    
    ['李四', '王二', 'bob', 'as']
    
    • 步长
    name = ["张三","李四","王二","bob","as","sdf"]
    print(name[0:-1:2]) #头:尾:步长
    
    ['张三', '王二', 'as']
    
    • 真正的倒着切:从右往左切。需要把步长设为负数
    name = ["张三","李四","王二","bob","as","sdf"]
    print(name[-1:-5])
    print(name[-1:-5:-1])  #倒着切
    
    []
    ['sdf', 'as', 'bob', '王二']  
    
    • 全切
    name = ["张三","李四","王二","bob","as","sdf"]
    print(name[::2])
    
    ['张三', '李四', '王二', 'bob', 'as', 'sdf']
    
  • 反转

    • 切边:name[::-1]

    • .reverse #把原来的列表进行反转

      name = ["张三","李四","王二","bob","as","sdf"]
      name.reverse()
      print(name) #原列表发生了改变
      
      ['sdf', 'as', 'bob', '王二', '李四', '张三']
      
      • 字符串反转:

        n = '银角大王'
        print(n[::-1])
        
        王大角银
        
  • 排序

    • .sort() #对原列表进行改变
    number = [12,32,123,432,1,3,5543,123]
    number.sort()
    print(number)
    
    [1, 3, 12, 32, 123, 123, 432, 5543]
    
    number = ['12','32','123','432','1','3','5543','123',"张三","李四","王二","bob","as","sdf"]
    number.sort()  #对ASCII值进行排序
    print(number)
    
    ['1', '12', '123', '123', '3', '32', '432', '5543', 'as', 'bob', 'sdf', '张三', '李四', '王二']
    
    
  • 循环

    • for循环
    name = ["张三","李四","王二","bob","as","sdf"]
    for i in name:
        print(i)
        
    张三
    李四
    王二
    bob
    as
    sdf
    

数据类型-元组

  • 元组不可修改-只读列表
name = ("apple","bob")
print(name[1])

bob
  • 元组中有列表,可以更改列表的值;

    为啥呢?因为元组只是存每个元素的内存地址,上面['金角大王','Jack' ]这个列表本身的内存地址存在元组里确实不可变,但是这个列表包含的元素的内存地址是存在另外一块空间里的,是可变的。

name = ("apple","bob",["张三","李四"])
name[2][0]="王五"
print(name)

('apple', 'bob', ['王五', '李四'])
  • 元组本身不可修改,如果包含可修改的数据类型,那么被包含的数据类型可以被修改。

数据类型-字符串

  • 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,‘或”“或”"中间包含的内容称之为字符串
s = "Hello,Eva! How are you?"
print(s[1])

e
  • 按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序。
  • 可以进行切片操作。
s = "Hello,Eva! How are you?"
print(s[::3])

HlE!oa u
  • 不可变,字符串是不可变的,不能像列表一样修改其中某个元素,所有对字符串的修改操作其实都是相当于生成了一份新数
    据。
  • 字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r(原生字符)。
name = "jack\t\n"
print(name)
print("=========")
name1 = r"jack\t\n"
print(name1)


jack	

=========
jack\t\n

  • center() 填充
name  = "GuanSuo"
print(name.center(20, '-'))


------GuanSuo-------
  • count() 计算
name  = "GuanSuoasbbb"
print(name.count("a"))
print(name.count("a", 1, 4))


2
1
  • find() 找
name  = "GuanSuoasbbb"
print(name.find("a"))
print(name.find("a", 2)) #从2开始找

2
2
  • format()
#两种方法实现
s = "My name is %s  , i am %s years old" %("alex",23) #1
print(s)

s1 = "My name is {0}  , i am {1} years old"  #2
print(s1.format("gs", 22))

s2 = "Welcome {name} to Apeland , you are No.{user_num} user."
print(s2.format(user_num=24, name="张三"))



My name is alex  , i am 23 years old
My name is gs  , i am 22 years old
Welcome 张三 to Apeland , you are No.24 user.
  • join 拼接
name = ["shangsan","lisi","Wanger"]
print("? ".join(name))

shangsan? lisi? Wanger
  • lower() #大写变成小些
name1 = "ASDasd"
print(name1.lower())

asdasd
  • ljust() rjust()
str.ljust(width[, fillchar])

width -- 指定字符串长度。
fillchar -- 填充字符,默认为空格。
str = "this is string example....wow!!!"
print(str.ljust(50, '0'))

this is string example....wow!!!000000000000000000
000000000000000000this is string example....wow!!!
  • strip() 删除首尾空白字符
    • rstrup() 删除右边空白字符
    • lstrup()删除左边空白字符
str1 = "   Welcome to Guru99!    "
after_strip = str1.strip()
print(after_strip)


Welcome to Guru99!
  • replace() 替换 默认所有的都改
a = "My score is 580, not 580 very good."
print(a.replace("580", "666"))
print(a.replace("580", "666",1))     # 改一次
My score is 580, not 580 very good.
My score is 666, not 580 very good.
  • split()split():就是将一个字符串分隔成多个字符串组成的列表
    • 默认用空格分开
    • string.split("sep",num) num为分隔次数,有sep时按sep的值分隔:
    • rsplit()从右开始。lsplit()从左开始
a = "aaaaa bbbbb."
print(a.split())
print(a.split("a",2))


['aaaaa', 'bbbbb.']
['', '', '', '', '', ' bbbbb.']
  • swapcase() 大写变小写 小写变大写
a = "aaaaa BBBbb"
print(a.swapcase())


AAAAA bbbBB
  • upper() 变成大写
a = "aaaaa BBBbb"
print(a.upper())


AAAAA BBBBB
  • casefold() 字符串全变小写
a = "aaaaa BBBbb"
print(a.casefold())

aaaaa bbbbb
  • capitalize() 首字母大写,其他都变成小写
a = "aaaaa BBBbb"
print(a.capitalize())

Aaaaa bbbbb
  • straswith() 判断字符串是否以指定字符或子字符串开头。返回值为 bool

    endswith() 判断字符串是否以指定字符或子字符串结尾。返回值为 bool

  • 语法:str.endswith("suffix", start, end) 或str[start,end].endswith("suffix")

    用于判断字符串中某段字符串是否以指定字符或子字符串结尾。

str = "hello,i love python"
print("1: ",str.startswith("h"))
print("2:",str.startswith("l",2,10))# 索引 llo,i lo 是否以“n”结尾。
print("3:",str.startswith(""))#空字符
print("4:",str[0:6].startswith("h")) # 只索引 hello,
print("5: ",str[0:6].startswith("e"))
print("6: ",str[0:6].startswith(""))
print("7:",str.startswith(("h","z")))#遍历元组的元素, 存在即返回True,否者返回False print("8:",str.startswith(("k","m")))

1:  True
2: True
3: True
4: True
5:  False
6:  True
7: True  

数据类型-字典

  • key-value结构。

  • key必须为不可变数据类型、必须唯一

  • 可存放任意多个value、可修改、可以不唯一。

  • 无序。

  • 查询速度快,且不受dict的大小影响。

    截屏2022-08-23 下午10.32.19

标签:name,数据类型,王二,sdf,李四,python02,print,bob
来源: https://www.cnblogs.com/aohongchang/p/16619233.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有