zoukankan      html  css  js  c++  java
  • python中几种常用的数据类型

    1.字典

      字典的创建:

      dict1=dict((('name','PIG'),)),其中第一层()代表里面的内容是dict函数的输入参数。
    第二层和第三层代表字典中的各元素,也就是key和value组合的列表,只不过这种列表不
    是一种线性列表list,而是hash列表。在dict()和list()的函数调用中,里面用list标识符[]或者()

    元组tuple效果一样。也可以像int()一样,将其看成强转换。
      dict2={'name':'PIG'}

      字典的修改:

      dict1={'name':'dog'}
    dict1['age']=18
    dict1.setdefault('name','cat') 
    dict1.setdefault('age',34)
    这两种效果一致

     字典的查找:
    dict2={'age': 23, 'name': 'pis','career': 'student'}

    print(dict2['name'])

    print(list(dict2.keys()))
    print(list(dict2.values()))
    print(list(dict2.items()))
     print出来的顺序与输入无关,而是根据hash算法自动调整。list()是一个强制类型转换。
     将keys/values/items类型转换为list类型。

    dict3={'age': 23, 'name': 'pis','career': 'student'}
    dict4={'birthday':'94-09-01'}
    dict3.update(dic4)

    print(dict3)
    updata()将key值相同的替换,其他的添加。
    key值只能为数值,tuple,字符串等不可变类型,不能为list和dict。


    删除元素
     dict4.clear() # 清空字典
    print(dict4)
    del dict4['name'] #删除字典中指定键值对
    print(dict4)


    print(dict4.pop('age')) #删除字典中指定键值对,并返回该键值对的值
    ret=dict4.pop('age')
    print(ret)
    print(dict4)
    pop操作可返回被pop的value值。
     a = dict4.popitem() #随机删除某组键值对,并以元组方式返回值
    print(a, dict4)

    del dict4 #删除整个字典
    print(dict4)


     其他操作以及涉及到的方法
     dict5=dict.fromkeys(['host1','host2','host3'],'test')
     dict6=dict.fromkeys(['host1','host2','host3'],['test1','tets2'])

     #print(dic6)

    #dic6['host2']='abc'
    #print(dic6)

    这两个的区别是改变某一个key值时,第一个不影响其他的,第二个一起改变。因为字符串是不可变类型,list
    是可变类型。
    dict可嵌套dict。
    sorted(dict6.items())可对无序的hash顺序按照key值排序。
    对dict和list的for运算
    for i in dic5:

    print(i,dic5[i])

    for i,v in dic5.items():
    print(i,v)



    2 string操作

    a='dad'

    b='mom'
    c=a+b 加操作
    d=a*5 乘操作
    print('helloworld'[2:])切片操作
    关键字 in
    # print(123 in [23,45,123])
    # print('e2l' in 'hello')输出True和False

    格式化输出
    print('%s is a good teacher'%'alex')
    msg='''
    ----------info of %s----------
    Name: %s
    Age : %d
    Job : %s
    Salary: %f
    You will be retired in %s years
    ----------end---------
    ''' % (name, name, age, job, salary, 50-age)

     
    
    
    c=# print(c)连接join方法 
    ''.join([a,b,d])



    #摘一些重要的字符串方法

    #1 print(st.count('l'))
    # print(st.center(50,'#')) # 居中
    # print(st.startswith('he')) # 判断是否以某个内容开头
    # print(st.find('t'))
    # print(st.format(name='alex',age=37)) # 格式化输出的另一种方式 待定:?:{}
    # print('My tLtle'.lower())
    # print('My tLtle'.upper())
    # print(' My tLtle '.strip())
    # print('My title title'.replace('itle','lesson',1))
    # print('My title title'.split('i',1))
    具体可看string类源码

    3.list操作

    list的切片操作
    #a=['xiaohong', 'xiaoming', 'xiaoliang', 'xiaofang', 'xiaoli']
    # print(a[2:-1])
    # print(a[1:])
    # print(a[1:-1])
    # print(a[1:-1:1])
    # print(a[1::2])
    # print(a[3::-2])

    # a.append('xiaoliu')
    # print(a)
    # a.insert(1,'xiaoxiong')
    # print(a)


    a[1] = 'haidilao'
    # print(a)
    # a[1:3] = ['da','ads']
    # print(a)


    # a.remove('xiaoming')
    # print(a)

    # b = a.pop(1)
    #
    # print(a)
    # print(b)

    # del(a[0])
    # print(a)
    # del(a)
    # print(a)
    # a.pop(1)
    # print(a)

    其他操作
    #t = ['to', 'on', 'be', 'to', 'to', 'to'].count('to')

    # print(t)
    #
    # a = [1, 2, 3]
    # b = [4, 5, 6]
    # a.extend(b)
    # print(a)
    # print(b)
    # print(a.index(1))
    # a.reverse()
    # print(a)

    # x = [4, 6, 2, 1, 7, 9, ]
    # x.sort()
    # print(x)
    #t = ['to', 'on', 'be', 'to', 'to', 'to']
    # t.sort(reverse=True)
    # print(t)
    # print(t.count('dad'))
    # print("haide"in t)
    # b = t.copy()
    # print(b)

    主要关注三种重要的数据类型list tuple dictionary的常用操作



     




     
     
     


     
     
     








     
     

      

     
  • 相关阅读:
    wex5 实战 框架拓展之2 事件派发与data刷新
    wex5 实战 框架拓展之1 公共data组件(Data)
    wex5 实战 HeidiSQL 导入Excel数据
    wex5 实战 手指触屏插件 hammer的集成与优劣
    wex5 实战 登陆帐号更换与用户id一致性
    wex5 实战 用户点评与提交设计技巧
    wex5 实战 省市县三级联动与地址薄同步
    wex5 实战 wex5与js的组件关系与执行顺序(父子与先后)
    wex5 实战 单页模式下的多页面数据同步
    [BZOJ]4237: 稻草人
  • 原文地址:https://www.cnblogs.com/MY0213/p/7678891.html
Copyright © 2011-2022 走看看