• 常用数据类型


    数据类型 - 列表:

    列表的功能:创建、查询、切片、增加、修改、删除、循环、排序

    创建:

    List=[‘a’,’b’,’c’]

    查询:

    List.index(‘a’)    =>0

    切片:

    List[0:3] 返回从索引0-3的元素,不包括3,顾头不顾尾

    List[0:-1]  返回从索引0至最后一个值,但是同样包括最后一个值

    List[3:6]  返回索引3-6的元素 不包括6

    List[3:]  返回从3到最后所有的值

    List[:3]  返回从第1个元素到索引3,但不包括3

    List[::2]  返回部长为2的所有的值

    List[1:6:2]  返回索引1-6的且步长为2的值

    增加修改:

    List.append(‘A’)  #在列表的最后追加一个A

    List.insert(3,’B’)  #在列表的索引为3的位置插入一个B值

    List[3] = ‘Boy’ 

    List[4:6] = ‘ALEX LI’ #把索引4-6的元素改为ALEX LI,不够的元素自动增加

    删除

    List.pop()   #删除最后一个元素

    List.remove(‘a’)  删除从左找到的第一个指定元素a

    del list[2]   #用python全局的删除方法删除制定的索引元素

    del list[3:7]  #删除多个元素

    循环

    Lists = [‘a’,’b’,’c’,’d’,’e’,’f’]

    for i in lists:

           print(i)

    排序:

    List.sort()  #正向排序

    List.reverse()  #反转

    其他用法:

    List.extend([1,2,3,4]) # 将一个列表,扩展到list列表中

    List.clear()   #清空列表

    List.copy()   #copy方法单讲

    List[2][2]   嵌套列表取值

    定义列表 list = []  //空列表    list= [‘ccn’,‘zj’,1,2,6,8,9,6,6,6]

    单去一个值 list[1]   取出来的就是zj

    list.index(1)   //取出1这个元素的索引值2

    快速的取出一个值   list[list.index(1)]

    list.count(6)   //查看列表中有多少重复的6

    切片(顾头不顾尾)

    list[0:2]   //取出索引为0,1的元素

    lsit[-3:-1]    /取出索引为-3,-2的元素

    list[-3:]    //从索引为-3取到最后一个元素

    list[:3]  //取出索引为0,1,2的元素

    list[:7:2]    //从去到索引为6的元素,中间间隔为1

    list[::2]  从头取到尾,步长为2

    list.append(‘zzzzzj’)   追加

    List.insert(0,15)   插入索引为0的元素15

    List[2] = ‘zhangjian’   修改索引值为2的元素为zhangjian

    List.remove(‘1’)   删除从左找到的第一个指定元素

    del list[3:7]   删除多个元素  列表中3到7的元素  还是顾头不顾尾

    List.sort()   排序

    List.clear()   清空列表

    列表的深浅copy  

    list2 = list.cpoy()    //浅copy    浅cpoy是copy列表的内存地址,元素的内存地址独立

    Import copy   // 深cpoy      深cpoy是列表中所有的元素全部copy成独立的内存地址

    list2 = copy.deepcopy(list)

    数据类型-字符串

    字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,一对单、双、或三引号中间包括的内容称之为字符串

    创建字符串:

    S = ‘hello ,beautiful girl,ccn 。 how are you?’

    字符串的特性:有序,不可变

    S.isdigit()   //判断字符串是否为数字

    S.count(‘o’)   判断字符串中有几个o元素    

    s.format()   格式化输出    s.swapcase()  //大写变小写,小写变大写

    S.find()   //查找某一个元素的索引

    s.center() //>>> s.center(20,'*')

    '****hello world*****'

    ‘ ’.join(list)    //将list列表拼接成字符串

    S.replace(‘o’,’-’,1)    //将字符串中第一个的o换成-   

    S.split()    //默认以空格分离字符串  全分, 只要有空格就分离

    S.split(‘o’)  //指定以o分离字符串

    S.split()

    数据类型-元组

    元组其实和列表差不多,也是存一组数,只不过他一旦创建,便不能再修改了,所以又叫制度列表

    元组的特性: 不可变,元组本身不可变,如果元组中还包含其他可变的元素,这些可变的元素可以改变

    元组的功能: 查询,计数,切片

    元组的使用场景:1.显示的告知别人,此处数据不可修改 2.数据库连接配置信息

    Hash,一般翻译成“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。

    特征:hash值是必须不可变的

    用途:文件签名、md5加密、密码验证

    数据类型-字典

    字典一种key-vaue的数据类型,使用就像我们上学用的字典,通过笔画、字母来对应的详细内容

    特性:1.key-value结构 2.可以必须可hash、切必须为不可变数据类型、必须唯一 3.可存放任意多个值、可修改、可以不唯一4.无序 5.查找速度快

    查找:

    >>> info = {'st1':'zhangjian','st2':'cc'}

    >>> 'st2' in info

    True

    如何在一个变量中存储公司每个员工的个人信息?

    字典一种key-value的数据类型,使用就像我们上学用的字典,通过笔画、字符来查对应页的详细内容。

    特性: key-value结构   key必须可hash、且必须为不可变数据类型、必须唯一  可存放任意多个值、可修改、可以不唯一   无序  查找速度快

    定义字典>>> info = {

    ... '张鉴':[24,'design','UI',2333],

    ... 'CCN':[22,'teacher','children',1222]} 

    字典用法  :

    查找

    “CCN” in info    // 判断CCN这个key在不在字典中

    info.get(“CCN”)    #获取key的value值

    info[‘CCN’]     //直接输入key值获取value

    >>> info['pig'] = 1    //增加

    >>> info['dog'] = 2

    info.pop(‘张鉴’)

    多级字典嵌套 

    info.setdefault(2,100)   //如果字典里有2这个key 就会把value取出来,如果没有就会创建一个key为2 value为100的值

    >>> info.fromkeys(['A','B','c'])    //批量添加key值

    {'A': None, 'B': None, 'c': None}

    >>> info.fromkeys(['A','B','c'],'peter')

    {'A': 'peter', 'B': 'peter', 'c': 'peter'}

    字典循环

    >>> for k in info:

    ...     print(k,info[k])

    数据类型-集合

    集合是一个无序的、不重复的数据组合

    作用:1.去重,把一个列表变成集合,自动就去重了 2.关系测试,测试两组数据之间的交集、差集、并集等关系

    集合中的元素有三个特征:

    1.确定性(元素必须可hash)

    2.互异性

    3.无序性(集合中的元素没有前后之分),如集合{3,4,5}和{3,5,4}算做同一个集合

    包含关系

    In , not in : 判断某元素是否存在集合内 == , != ;   判断两个集合是否相等

    两个集合之间一般有三种关系,相交、包含、不相交。在Python中分别用下面的方法判断:

    1.set.isdisjoint(s): 判断两个集合是不是相交

    2.set.issuperswr(s) : 判断集合是不是包含其他集合,等同于a>=b

    3.set.issubset(s): 判断集合是不是被其他集合包含,等同于a<=b

    Iphone7 = [‘alex’,’rain’,’jack’,’old_driver’]

    Iphone8 = [‘alex’,’shanshan’,’jack’,’old_boy’]

    both_list = []

    for name in Iphone8:

    If name in Iphone7:

    both_list.append(name)

    print(both_list)

    集合是一个无序的,不重复的数据组合,它主要的作用如下:

    1. 去重,把一个列表变成集合,就自动去重了

    2. 关系测试,测试联组数据之前你的交集、差集、并集等关系

    定义集合

    S = {1,2,3,4}

    >>> list

    [1, 2, 2, 2, 3, 3, 4, 5, 6]

    >>> set(list )

    {1, 2, 3, 4, 5, 6}

    S.add(10)  //增加

    S.pop()    //随机删除一个数据

    S.remove(1)   //指定删除1

    S.discard(5)   //如果集合中没有5也不会报错

    S.update([7,8,9])   //拼接

    S.clear()    //清空集合

    S.intersection(s2)  ==  S & s2      交集

    S.difference(s2)  == s - s2   差集

    S.union(s2)   == s | s2   并集

    s.symmetric_difference(s2)   对称差集

    S.issubset(s2)   判断s集合是不是被其他集合包含

    S2.issuperset(s)   判断s集合是不是包含s2集合

    S. isdisjoint(s2) 判断两个集合是不是相交  ,相交false  不相交true

  • 相关阅读:
    Kettle使用kettle.properties
    kettle 获取文件名
    连接池的补充设置,应用到上面所有数据源中
    kettle 获取某个目录下所有的文件
    不小心删库了怎么办,用binlog可以恢复
    江北的KETTLE学习日志
    Python3 中,bytes 和 str
    kettle入门(四) 之kettle取昨天时间&设置任意时间变量案例
    30-Day Leetcoding Challenge Day17(构造并查集)
    30-Day Leetcoding Challenge Day16
  • 原文地址:https://www.cnblogs.com/zjaiccn/p/12909547.html
Copyright © 2020-2023  润新知