python基础数据类型***

一.数据类型

  整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set).

1、 int。数字:主要用于运算。1 ,2,3...

2、   bool。判断真假:True, False.

3、   str。简单少量的储存数据,并进行相应的操作。name = 'alex',

  • a = 'ABCDEFGHIJK'
    print(a[0:3])  # print(a[:3]) 从开头开始取0可以默认不写
    print(a[2:5]) #不包括5
    print(a[:]) #默认到最后 print(a[:-1]) # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到K元素 print(a[:5:2]) #加步长 print(a[-1:-5:-2]) #反向加步长

    常用方法:

  • #数字符串中的元素出现的个数。
    # ret3 = a1.count("a",0,4) # 可切片
    
    a4 = "dkfjdkfasf54"
    #startswith 判断是否以...开头
    #endswith 判断是否以...结尾
    # ret4 = a4.endswith('jdk',3,6)  # 顾头不顾腚
    # ret5 = a4.startswith("kfj",1,4)
    
    #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
    # ret9 = 'title,Tilte,atre,'.split('t')
    
    #format的三种玩法 格式化输出
    res='{} {} {}'.format('egon',18,'male')
    res='{1} {0} {1}'.format('egon',18,'male')
    res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
    
    #strip 去除符号
    name='*barry**'
    print(name.strip('*'))
    print(name.lstrip('*'))
    print(name.rstrip('*'))
    
    #replace 替换
    name='alex say :i have one tesla,my name is alex'
    print(name.replace('alex','SB',1)) # 1表示替换第几个
    
    #is系列 (判断系列)
    name='taibai123'
    print(name.isalnum()) #字符串由字母或数字组成
    print(name.isalpha()) #字符串只由字母组成
    print(name.isdecimal()) #字符串只由十进制组成
    
    #寻找字符串中的元素是否存在
    # ret6 = a4.find("fjdk",1,6)
    # print(ret6)  # 返回的找到的元素的索引,如果找不到返回-1
    
    # ret61 = a4.index("fjdk",4,6)
    # print(ret61) # 返回的找到的元素的索引,找不到报错。
    
    #captalize,swapcase,title
    print(name.capitalize()) #首字母大写
    print(name.swapcase()) #大小写翻转
    msg='taibai say hi'
    print(msg.title()) #每个单词的首字母大写
    
    
    # 内同居中,总长度,空白处填充
    ret2 = a1.center(20,"*")
    print(ret2)
    View Code
  •  tuple。只读,不能更改。(1,'alex') 
  •  list:大量有序数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}](顺序存取)
  • 三种创建方式:
  • # 方式一:(常用)
    l1 = [1, 2, '太白']
    
    # 方式二:(不常用)
    l1 = list()  # 空列表
    # l1 = list(iterable)  # 可迭代对象
    l1 = list('123')
    print(l1)  # ['1', '2', '3']
    
    # 方式三:列表推导式(高级)
    l1 = [i for i in range(1,5) ] # 添加if 可进行筛选
    print(l1)  # [1, 2, 3, 4]
  •  列表切片:
    l1 = ['a', 'b', '太白', 3, 666]
    print(l1[0])  # 'a'
    print(l1[-1])  # 666
    print(l1[1:3])  # ['b', '太白'] # 不包括3
    print(l1[:-1])  # ['a', 'b', '太白', 3]
    print(l1[::2])  # ['a', '太白', 666] # 以第一个开始,取出步长2的元素
    print(l1[::-1])  # [666, 3, '太白', 'b', 'a'] # 倒序
    列表的增删改查:
  •       append 、insert、extend(迭代的追加进列表);pop(以元素的索引删除)、remove(通过元素删除)、clear(清除)
  •       del(按照索引删除,也可以切片删除,以步长方式删除);改(略)
  • 列表其他操作:
  •     count(数)(方法统计某个元素在列表中出现的次数)。
  •     index(方法用于从列表中找出某个值第一个匹配项的索引位置)
  •     sort (方法用于在原位置对列表进行排序)。

         reverse (方法将列表中的元素反向存放)。

  • dict:大量数据,且是关联性比较强的数据  {'name':'jinxin','age':18,'name_list':['张三','李四']}(字典的键是不可变的(可哈希))
  • 不可变数据类型--》可哈希
  • 可变数据类型--》不可哈希
  • 创建字典的几种方式:
  • dic = dict((('one', 1),('two', 2),('three', 3)))
    
    dic = dict(one=1,two=2,three=3)
    
    dic = dict({'one': 1, 'two': 2, 'three': 3})
    
    dic = dict(zip(['one', 'two', 'three'],[1, 2, 3]))    
    
    dic = { k: v for k,v in [('one', 1),('two', 2),('three', 3)]}
    
    dic = dict.fromkeys('abcd','太白')

    字典的增删改查:

    dic['weight'] = 75 # 没有weight这个键,就增加键值对
    
    dic['name'] = 'barry' # 有name这个键,就成了字典的改值
    
    dic.setdefault('height',175) # 没有height此键,则添加
    
    dic.setdefault('name','barry') # 有此键则不变,有返回值
    
    
    
    # pop 通过key删除字典的键值对,有返回值,可设置返回值。
    ret = dic.pop('name')
    
    #clear 清空字典
    dic = {'name': '太白', 'age': 18}
    dic.clear()
    
    # 通过键删除键值对
    dic = {'name': '太白', 'age': 18}
    del dic['name']
    print(dic) # {'age': 18}
    
    #删除整个字典
    del dic
    
    
    # update  改 有则覆盖,没有则添加
    dic = {'name': '太白', 'age': 18}
    dic.update(sex='', height=175)
    
    
    # 通过键查询
    # 直接dic[key](没有此键会报错)
    dic = {'name': '太白', 'age': 18}
    
    keys()  键
    dic = {'name': '太白', 'age': 18}
    print(dic.keys()) # dict_keys(['name', 'age']) 
    
    values()  值
    dic = {'name': '太白', 'age': 18}
    print(dic.values()) # dict_values(['太白', 18])
    
    items()  键值对(列表内以元组方式存储)
    dic = {'name': '太白', 'age': 18}
    print(dic.items()) # dict_items([('name', '太白'), ('age', 18)])

     

  •  int。数字:主要用于运算。1 ,2,3...
  •  bool。判断真假:True, False.
  •  str。简单少量的储存数据,并进行相应的操作。name = 'alex',
  •  tuple。只读,不能更改。(1,'alex')   常用操作(拆包)
  •  list:大量有序数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}]
  •  dict:大量数据,且是关联性比较强的数据  {'name':'jinxin','age':18,'name_list':['张三','李四']}
  •  set  集合,没有重复数据   
  • 集合的创建
    set1 = set({1,2,'barry'})
    set2 = {1,2,'barry'}
    
    增加内容
    set1 = {'alex','wusir','ritian','egon','barry'}
    set1.add('景女神')
    
    #update:迭代着增加
    set1.update('Aasd')
    
    set1 = {'alex','wusir','ritian','egon','barry'}
    
    set1.remove('alex')  # 删除一个元素
    print(set1)
    
    set1.pop()  # 随机删除一个元素
    print(set1)
    
    set1.clear()  # 清空集合
    print(set1)
    
    del set1  # 删除集合
    print(set1)
    
    
    交集、并集、差集
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 & set2)  # {4, 5}
    print(set1.intersection(set2))  # {4, 5}
    
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7,8}
    
    print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7,8}
    
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 - set2)  # {1, 2, 3}
    print(set1.difference(set2))  # {1, 2, 3}
    
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
    print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}

    其他

  • enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
  • 如(1,‘小丞’)形式
  • for index, name in enumerate(li, 100):  # 起始位置默认是0,可更改
        print(index, name)   
  •  
l[0] = '男神'
posted @ 2020-03-01 21:55  小丞cc  阅读(194)  评论(0编辑  收藏  举报