zoukankan      html  css  js  c++  java
  • 小结(易出错)

    ## 格式化输出 用到的字典方式
    dic = {'西游记':100,"新好声音":1567}
    print("西游记 %(西游记)s 新好声音 %(新好声音)s" % dic ) # 西游记 100 新好声音 1567
    print("西游记 %('西游记')s 新好声音 %('新好声音)'s" % dic ) # 报错,键名,不能加引号
    ## 格式化输出 用到的字典方式
    dic = {'西游记':100,"新好声音":1567}
    print("西游记 %(西游记)s  新好声音 %(新好声音)s"  % dic )  # 西游记 100  新好声音 1567
    print("西游记 %('西游记')s  新好声音 %('新好声音)'s"  % dic )  # 报错,键名,不能加引号
    # 逻辑运算
    # and not or
    # 优先级  () > not > and > or  , 相同优先级,从左到右计算
    # x or y , if x is True, return x ,othoerwise return y
    # 逻辑运算 有三种情况:
    # 情况一: 逻辑运算符,两边是 比较运算
    result = 3 > 5 and 6 >5
    print(result)
    # 情况二:逻辑运算符, 两边是  数值
    print( 5 or 3 )   # 5
    print( 0 or 8 )   # 8
    print( 3 and  13) # 13
    print( 0 and  13)  # 0
    # 情况三: 逻辑运算符,两边, 一边是数值,一边是比较运算
    print( 5 or 6 > 3 )  # 5
    print( 5 or 6 < 3 )  # 5
    print( 0 or 6 > 3)   # True
    print( 0 or 6 < 3)   # False
    print( 6 > 3 or 15)  # True
    print( 6 < 3 or 15)  # False
    print( 6 > 3 and 15)  # 15
    print( 6 < 3 and 15)  # False
    # in, not in:
    # 判断子元素是否在原字符串( 字典,列表,集合)中:
    ls = [1,3,5,'alex']
    print( 1 in ls )   # True
    print( 'alex' in ls )  # True
    print( 'aa' in ls )   # False
    
    dic = { 'name':'chris','job':'IT'}
    print( 'name' in dic )     # 对于字典,是判断 某一键,是否存在于字典中

     切片是属于 浅拷贝

    1.题
      把列表中所有姓周的人的信息删掉(升级题 :此题有坑,请慎重):
      lst = [ '周老二','周星星','麻花藤','周扒皮' ]
      结果:lst = ['麻花藤']
    '''
    # 方法一:
    # lst = [ '周老二','周星星','麻花藤','周扒皮' ]
    # tmp_lst = []
    # for e in lst:
    #     if '周' not in e:
    #         tmp_lst.append(e)
    # lst = tmp_lst
    # print(lst)
    # 方法二:
    # lst = [ '周老二','周星星','麻花藤','周扒皮' ]
    # for i in range(len(lst)-1,-1,-1):   # range()方法只会执行一次,谨记
    #     if '周' in lst[i]:
    #         lst.pop(i)
    # print(lst)
    # 方法三:
    # lst = [ '周老二','周星星','麻花藤','周扒皮' ]
    # for i,e in enumerate(lst):  # 用到了分别赋值
    #     if '周' in e:
    #         lst[i] =  'delete'
    # for count in range( lst.count('delete')) :
    #     lst.remove('delete')
    # print(lst)
    # 方法四:
    # for i in lst[:]:   # 切片是浅拷贝
    #     if '周' == i.strip()[0]:
    #         lst.remove(i)
    # print(lst)

     判断一个 键 是否在字典中的语法?

    dic = {0:'chris',1:'alex',2:'jiayong'}
    if 0 in dic:              #判断一个键是否在字典的键中
        print("has")

    判断一个 元素 是否在列表中的语法?

    lis = list(range(5))
    print(lis)
    # if lis.index(5):     # index() :没有找到就报错
    #     print(5)
    
    if lis.count(5):
        print(5)
    print(lis.count(5))  # 如果没有这个元素,返回值为0
    if lis.count(4):
        print(4)

     关于列表、字典 添加元素时的注意:

    list = []
    # list[0] = 1  # 对于列表,不能通过索引,直接添加元素  IndexError: list assignment index out of range
    dic = {}
    dic['name'] = 'chris'   # 但是对于字典,可以通过key,直接增加键值对
    print(dic)  #  {'name': 'chris'}

     python也有三目运算,我们知道在java中为   x ? True : False 

    # pyhton的三元运算
    
    #   x if x> y else y     如果 x > y 为真,则返回x ,否则返回y
    
    ret = 3+5 if  5 > 3 else 9
    ret2 = 3+6 if 5 < 3 else 10
    print(ret)
    print(ret2)
    
    ret3 = 'abc' if 5 > 3 else [1,2,3]
    ret4 = 'abc' if 5 < 3 else [1,2,3]
    print(ret3)
    print(ret4)

     关于切片,和代码块的补充:

    if True:
        x = 15
        print(x)
    print(x)      # 可见 if 语句,不是一个代码块,因为代码块有独立的作用域,代码块结束时,会释放变量
    
    l1 = [1,2,3,4]
    print(id(l1))
    l2 =[1]
    print(id(l2))
    def func4(li):  return li[:2]    # 如果能够切片,就返回一个新列表对象,不能切片,就返回原列表
    
    ret1 = func4(l1)
    print(id(ret1))
    ret2 = func4(l2)
    print(id(l2))
    print(func4(l1))
    print(func4(l2))

     for  也有 else ,continue , break :

    # 除了 while ... else ,还有 for ... else
    #
    # def register():
    #     while 1:
    #         userName = input("please input your name:").strip()
    #         with open('register',encoding='utf-8') as f1:
    #             for line in f1:
    #                 name,password = line.strip().split("|")
    #                 if userName == name:
    #                     print(666)
    #                     break
    #             else:
    #                 password = input("Please input passwrod:")
    #                 with open('register',encoding='utf-8',mode='a') as f2:
    #                     f2.write("
    {}|{}".format(userName,password))
    #                     return "success"
    # register()
  • 相关阅读:
    IPC之PIPE
    MSChart的研究(转)
    计算机信息类ComputerInfo(车)
    c# 操作Word总结(车)
    js跳转页面(转)
    textarea中的回车识别问题
    js的页面传值cookie.session
    destoon使用
    vscode 配置php
    vscode开发c#
  • 原文地址:https://www.cnblogs.com/chris-jia/p/9466506.html
Copyright © 2011-2022 走看看