zoukankan      html  css  js  c++  java
  • Python处理字符串和列表元组的小技巧

    变量值互换

    a = 1
    b = 100
    # 变量值互换
    a, b = b, a
    
    print('a:', a)
    print('b:', b)
    

    输出结果:

    a: 100
    b: 1
    

    ### 多个变量赋值 ```python a, b, c = 1, 2, 3

    print(a, b, c)

    
    输出结果:
    ```shell
    1 2 3
    

    ### join()方法

    使用join()方法可以将字符串或者列表元组,按照指定的间隔字符串合成一个新的字符串。

    string = 'Hello World'
    joined_string = '~'.join(string)
    
    date_list = ['2019', '12', '21']
    joined_list_string = '-'.join(date_list)
    
    print(joined_string)
    print(joined_list_string)
    

    输出结果:

    H~e~l~l~o~ ~W~o~r~l~d
    2019-12-21
    

    ### 字符串切割split()
    name = 'Miles,Tony,Mary'
    # 以逗号切割
    print(name.split(','))
    
    sentences = '''
    Miles is male, age is 24
    Tony is male, age is 37
    Mary is female, age is 15
    '''
    # 先去掉字符串头尾的空格,然后以换行符切割
    print(sentences.strip().split('
    '))
    

    输出结果:

    ['Miles', 'Tony', 'Mary']
    ['Miles is male, age is 24', 'Tony is male, age is 37', 'Mary is female, age is 15']
    

    ### 三元表达式
    point = 34
    # 如果分数大于等于60就通过,否则不通过
    status = 'pass' if point >= 60 else 'fail'
    
    print(status)
    

    输出结果:

    fail
    

    ### 列表推导式 ```python li = [10, 23, 45, 68, 79, 91] # 取出li列表中大于60的元素并乘以10组成一个新列表 new_li = [i*10 for i in li if i > 60]

    print(new_li)

    
    输出结果:
    ```shell
    [680, 790, 910]
    

    ### 遍历列表逆序
    li = [1, 2, 3, 4, 5]
    for i in reversed(li):
        print(i)
    

    输出结果:

    5
    4
    3
    2
    1
    

    ### 列表去重
    li = [1, 2, 3, 1, 2, 3]
    # 将列表转换为集合自动去重,再转回列表
    li = list(set(li))
    
    print(li)
    

    输出结果:

    [1, 2, 3]
    

    ### with关键字 在执行完with代码块中的代码,系统会自动调用close()方法,哪怕代码报异常。 ```python # 离开with代码块后自动调用file.close() with open('test.txt') as file: file.read() ```
    ### enumerate枚举函数 用于枚举可迭代对象,同时返回下标索引。
    li = ['Miles', 'Tony', 'Mary']
    
    for index, name in enumerate(li):
        print(index, name)
    

    输出结果:

    0 Miles
    1 Tony
    2 Mary
    

    ### 列表元组解包
    li = [1, 2, 3, 4]
    
    var1, var2, var3, var4 = li
    print(var1, var2, var3, var4)
    print('--------')
    
    first, *mid, last = li
    print(first)
    print(mid)
    print(last)
    

    输出结果:

    1 2 3 4
    --------
    1
    [2, 3]
    4
    
    

    ### 字符串填充对齐
    left = 'left'.ljust(20, '*')
    mid = 'mid'.center(20, '*')
    right = 'right'.rjust(20, '*')
    
    print(left)
    print(mid)
    print(right)
    

    输出结果:

    left****************
    ********mid*********
    ***************right
    

    ### zip()同步处理多个列表
    name_list = ['Miles', 'Tony', 'Mary']
    gender_list = ['male', 'male', 'female']
    age_list = [24, 37, 15]
    
    for name, gender, age in zip(name_list, gender_list, age_list):
        print('%s is %s, age is %d' % (name, gender, age))
    

    输出结果:

    Miles is male, age is 24
    Tony is male, age is 37
    Mary is female, age is 15
    

    ### all()和any() 对于all(),可迭代参数中所有元素都为True则返回True,即只要有一个元素为空、0或者False,就返回False. 注意空串,空列表元组,all()返回为True! 对于any(),和all()正好相反,只有可迭代参数中有一个元素为True就返回True,否则返回False.
    all('abc')                  # True
    all(['a', 'b', 'c'])        # True
    all(['', 'x', 'y'])         # False
    all([1, 2, 3])              # True
    all([0, 1, 2])              # False
    # 注意空串,空列表元组,all()返回为True
    all([])                     # True
    all(())                     # True
    all('')                     # True
    
    any('')                     # False
    any([])                     # False
    any(())                     # False
    any(['', 'x', 'y'])         # True
    any([0, 1, 2])              # True
    any([0, '', False])         # False
    
    
  • 相关阅读:
    模板为webpack的目录结构
    实例和内置组件
    微信小程序之富文本解析
    微信小程序获取输入框(input)内容
    for循环的语法和执行顺序
    循环
    选择结构(二)
    选择结构
    算术运算
    变量
  • 原文地址:https://www.cnblogs.com/milesma/p/12076755.html
Copyright © 2011-2022 走看看