欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python大杂铺

程序员文章站 2022-03-07 22:51:25
Map函数 1 def format_name(s): 2 3 return s[0].upper() + s[1:].lower() 4 5 6 7 print map(format_name, ['adam', 'LISA', 'barT']) View Code 去掉string(英文状态)的 ......
  • map函数


    python大杂铺

    1 def format_name(s):
    2 
    3     return s[0].upper() + s[1:].lower()
    4 
    5    
    6 
    7 print map(format_name, ['adam', 'lisa', 'bart'])
  • 去掉string(英文状态)的标点符号

    python大杂铺python大杂铺

     1 import string
     2 
     3 
     4 def removepunctuation(text):
     5    '''去掉字符串中标点符号
     6     '''
     7    # 方法一:使用列表添加每个字符,最后将列表拼接成字符串,目测要五行代码以上
     8    temp = []
     9    for c in text:
    10       if c not in string.punctuation:
    11          temp.append(c)
    12    newtext = ''.join(temp)
    13    print(newtext)
    14 
    15    # 方法二:给join传递入参时计算符合条件的字符
    16    b = ''.join(c for c in text if c not in string.punctuation)
    17    print(b)
    18    return newtext

     

  •  continue,break的区别  

  • """
                while true:
                    print(1)
                    break  # 跳出当前循环
                    print(11)
                print(2)
                """
                """
                print(0)
                while true:
                    print(1)
                    continue # 结束本次循环,进行下次循环
                    print(11)
                print(2)
                """
            示例:
                使用break实现: 1-100
                    start = 1
                    while true:
                        print(start)
                        start = start + 1
                        if start == 100:
                            print(start)
                            break
                
                输出:1 2 3 4 5 6 7 8 9 10
                
                    """
                    start = 1
                    while start < 11:
                        if start == 7:
                            pass
                        else:
                            print(start)
                        start = start + 1
                    """
    
                    """
                    start = 1
                    while start < 11:
                        if start == 7:
                            start = start + 1
                            continue
                        else:
                            print(start)
                        start = start + 1
                        
                    """
  • 字典

  • dic = {
         'k1': 'v1',
         2: 'v1',
         false: 'v1',
         (11,22,33): 'v1',
     }

    1. 可变不可变
    不可变:str,int,bool,tuple
    可变: list,dict,set
    2. 字典查找速度快,基于哈希索引
    问题1. 字典的key都能是什么?
    布尔值: true= 1; false=0

  • 深浅copy

    1.copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。

dic1 = {
    'k1': 'v1',
    'k2': [11,22,33,44]
}
dic2 = dic1.copy()
print(dic1,dic2)
dic1['k2'].append(666)
print(dic1,dic2)

输出:python大杂铺

  

 

   2. copy.deepcopy() 深拷贝,拷贝对象及其子孙对象

  

1 dic1 = {
2     'k1': 'v1',
3     'k2': [11,22,33,44]
4 }
5 import copy
6 dic2 = copy.deepcopy(dic1)
7 print(dic1,dic2)
8 dic1['k2'].append(666)
9 print(dic1,dic2)

深copy时,dic1有两层对象,可以理解为父对象和子孙对象;一层是'k1'(key1): 'v1'(value1),'k2'(key2):[11,22,33,44] (value2),而value2又是一层对象(子对象)

输出:python大杂铺

 

深浅copy