zoukankan      html  css  js  c++  java
  • python第三天


    #字典 info = { 'stu1101':"TenLan Wu", 'stu1102':"LongZe Luola", 'stu1103':"XiaoZe Maliya" } #查找 print(info) print(info['stu1101'])#当不存在是会报错 print(info.get('stu1104'))#不会报错,不存在是返回None print('stu1104' in info)#判断是否存在,存在输出不存在则不输出 #修改 info['stu1101'] = '武藤兰' print(info['stu1101']) #添加 info['stu1104'] = 'CangJingKong' print(info) #删除 info.pop('stu1102') del info['stu1101'] #info.popitem()#随机删除 print(info) #合并 b = { 'stu1103':'BoDuo YeJiYi', 'syu1108':'Tian HaiYi' } info.update(b) #没有的合并,重复的覆盖 print(info) #字典转成列表 print(info.items()) #初始化字典 c = dict.fromkeys([6,7,8],[1,{'name':'xxxx'},4444]) print(c) c[7][1]['name'] = '低配周杰伦' #类似浅复制的问题,只有在一层的情况下才能用fromkeys创建 print(c) #字典的循环 for i in info: print(i,info[i]) for k,v in info.items(): print(k,v) #速度慢,需要转换为列表
    字典 dictionary

    字電是python中唯一的映射類型,採用鍵值對的形式存儲數據
    字典是除列表以外python中最靈活的內置數據結構類型,列表是有序的對象集合,字典是無序的对象集合
    兩者的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取

    特點:無序,鍵唯一

    字典的創建:
    dic1={'name':'alex','age':33,'sex':'male'}
    print(dic1)

    dic2=dict((('name','alex'),))
    print(dic2)

    #增 setdefault
    dic3.setdefault('age', 34)
    #如果有鍵就不添加,沒有鍵會添加進去,有鍵的話setdefault會把對應的值返回
    print(dic3)

    #查 通過鍵去查

    dic4={'name':'alex','age':33,'sex':'male'}

    print(dic4['name'])

    print(dic4.keys())#查找所有鍵
    print(dic4.values())#查找所有值
    print(dic4.items())#查找所有鍵和值

    #改 直接按照鍵修改值就可以 ;update方法

    dic5 = {'name': 'alex', 'age':33, 'sex':'male'}

    dic5['name'] = 'hua'
    print(dic5)

    dic6 = {'1':222,'3':444}
    dic5.update(dic6)#相當於extend在後面添加,有的話覆蓋,沒有添加
    print(dic5)
    print(dic6)


    #刪

    dic7 = {'name': 'alex', 'age':33, 'sex':'male'}

    print(dic7.pop('age'))#刪除鍵值對,會返回一個值
    del dic7['name']#刪除鍵值對
    dic7.clear()#清空內容,但是字典還在
    print(dic7)
    dic7 = {'name': 'alex', 'age':33, 'sex':'male'}
    a = dic7.popitem()#隨機刪除一個鍵值對
    print(a, dic7)

    del dic7#刪除整個字典,內存都找不到了


    #其他操作以及涉及到的方法

    dic8 = dict.fromkeys(['hhh','ccc','rrrr'],'sss')
    print(dic8)#{'hhh': 'sss', 'ccc': 'sss', 'rrrr': 'sss'}

    dic9 = dict.fromkeys(['hhh','ccc','rrrr'],['sss','www'])
    print(dic9)#{'hhh': ['sss', 'www'], 'ccc': ['sss', 'www'], 'rrrr': ['sss', 'www']}

    dic9['hhh'][1]='xxx' #淺拷貝
    print(dic9)#{'hhh': ['sss', 'xxx'], 'ccc': ['sss', 'xxx'], 'rrrr': ['sss', 'xxx']}



    #字典嵌套

    #排序
    dic10 = {5:'555',2:'333',4:'6666'}
    print(sorted(dic10)) #結果把鍵排序

    print(sorted(dic10.values())) #值排序
    print(sorted(dic10.items()))
    print(sorted(dic10.keys()))


    #字典的遍曆--重要

    dic11 = {'name': 'alex', 'age':33, 'sex':'male'}

    for i in dic11:#默認打印的是鍵
    print(i)



    #字符串操作 string 操作

    a='123'
    print('hello'*2)#重複輸出:hellohello
    print('helloworld'[2:])#從索引為2的位置到最後取出lloworld
    print('el' in 'hello') #如果字符串中包含給定的字符返回True
    print(123 in [23,45,123]) #如果字符串中包含給定的字符返回True

    #格式化輸出
    print('%s is a good teacher'%'alex')


    #字符串拼接
    a = '123'
    b = 'abc'
    a+b = '123abc'

    c = ''.join([a,b]) #以前面單引號裏的字符串進行拼接
    print(c)

    #字符串的內置方法

    name = "my name is {name} and i am {year}"

    print(name.capitalize()) #首字母大写
    print(name.count("e"))#统计字符的数量
    print(name.center(40,"-"))#总长度,补全的字符
    print(name.endswith("ss"))#判断以什么结尾
    print(name.find("boss"))#查找字符位置
    print(name.rfind('i'))#找最右的字符
    print(name[name.find("the"):])#字符串的切片
    print(name.format(name='lihaitao',year=18))
    print(name.index("is")) #查找
    print('dsa232'.isalnum())#是否只包含数字和英文字符
    print('dsa232'.isalpha())#是否只英文字符
    print('A232'.isalnum())#是否为十进制
    print('A232'.isdigit())#是否为整数
    print('A232'.isidentifier())#判断是否为合法的变量名
    print('A232'.isnumeric())#与isdigit()一样
    print(' '.isspace())#是否为一个空格
    print('My Name Is'.istitle())#首字母是否都为大写
    print('My Name Is'.isupper())#是否全为大写
    print(','.join(['1','2','3','4']))
    print(name.ljust(50,'*'))#长度,补全
    print(name.rjust(50,'*'))
    print('Lihaitao'.lower())
    print('Lihaitao'.upper())
    print(' Lihaitao'.strip())#去掉回车和空格,rstrip右边,lstrip左侧

    p = str.maketrans('abcdef$','1234567')
    print('$avbdsdcz'.translate(p))#类似加密的一个替换

    print('lihaitao'.replace('a','A',1))#替换和替换的数量
    print('1+2+3+4'.split('+'))#提取
    print('1+2 3+4'.splitlines())#以换行提取
    print('Lihaitao'.swapcase())#大小写互换
    print('Lihai tao'.title())#每个单词首字母大写

    #列表
    
    
    import copy
    
    names = ["张三","李四","王五","赵六",["郝","陈"]]
    
    print(names[1:3])
    print(names[-1])
    print(names[-3:-1])
    print(names[-3:]) #0可以省略
    print(names[0:-1:2])#步长切片
    
    #增
    names.append("李星")
    print(names)
    names.insert(1,"胖子") #位置,内容
    print(names)
    
    #删
    names.remove("张三")
    print(names)
    del names[1]
    print(names)
    names.pop(2)#没有参数默认删除最后一个
    print(names)
    
    #查
    print(names.index("王五"))
    
    #统计
    print(names.count("李星"))
    
    #删除列表
    #names.clear()
    
    #反转
    names.reverse()
    print(names)
    
    #排序
    names.sort()
    print(names)
    
    #合并
    names2 = [1,2,3,4]
    
    names.extend(names2)
    print(names)
    
    
    
    #复制
    name2 = names.copy()#浅copy   与name2 = copy.copy(names)和name2 = names[:]一样
    name3 = copy.deepcopy(names)#深copy
    print(names)
    print(name2)
    print(name3)
    names[1]="李"
    names[-1][0]="板云"
    print(names)
    print(name2)
    print(name3)
    
    
    #列表循环
    for i in names:
        print(i)
    
    无论你选择做什么,追求完美的程度决定你成就的高度。
  • 相关阅读:
    let jsp embedded dynamic language python ruby groovy
    The C Book — Table of Contents
    E4X 维基百科,自由的百科全书
    github for windows
    C File I/O Tutorial Cprogramming.com
    RequireJS入门(一)
    微信技术总监分享架构设计 下载频道 CSDN.NET
    C语言编程程序的内存布局
    Niocchi Java crawl library implementing synchronous I/O multiplexing
    Michael Barr « Embedded Gurus – Experts on Embedded Software
  • 原文地址:https://www.cnblogs.com/chiyhua/p/12220636.html
Copyright © 2011-2022 走看看