Python基础数据类型方法补充

str 补充的方法:

  • capitalize():首字母大写,其余变小写

    s = 'liBAI'
    s1 = s.capitalize()
    print(s1)
    # Libai
    
  • swapcase():大小写翻转

    s = 'LiBai'
    s1 = swapcase()
    print(s1)
    # lIbAI
    
  • title():每个单词首字母大写,其余变小写。以非字母隔开即为每个单词

    s = 'libai& dufu@ sushi'
    s1 = s.title()
    print(s1)
    # Libai& Dufu@ Sushi
    
  • center():居中,要指定总长度,还可设置填充物

    s = 'libai'
    s1 = s.center(10,'&')   # 前面参数指定总长度,后面指定除字符串外的填充物,用引号引起来
    print(s1)
    # &&libai&&&
    
  • find():通过元素找索引,找到第一个即返回值,找不到返回-1

    s = 'libai'
    print(s.find('b'))
    #  2
    print(s.find('z'))
    # -1
    
  • index():通过元素找索引,找到第一个即返回值,找不到就报错

    s = 'libai'
    print(s.index('z'))
    # ValueError: substring not found
    

tuple 补充的方法:

  • 元组中如果只有一个元素,并且没有逗号,例 ('a'),那么它不是元组,它与该元素的数据类型一致。

    tu1 = ('s')
    print(type(tu1))
    # <class 'str'>
    tu2 = ('s',)
    print(type(tu2))
    # <class 'tuple'>
    
  • index():通过元素找索引,找到第一个即返回值,找不到就报错

  • count():计算某元素出现的次数

    s = 'libaidufubaijuyisushi'
    print(s.count('i'))
    #  5
    

list 补充的方法:

  • index():通过元素找索引,找到第一个即返回值,找不到就报错

  • sort():默认对数字从小到大排序,对原列表排序,不会产生新列表

    l1 = [2,5,1,7,4,2,]
    l1.sort()
    print(l1)
    #  [1, 2, 2, 4, 5, 7]
    
    l1 = ['alex','yellow','xyz','blue']
    l1.sort()
    print(l1)
    # ['alex', 'blue', 'xyz', 'yellow']  按首字母排序
    
  • sort(reverse=True): 从大到小

    l1 = [4,2,4,5,7,1,3]
    l1.sort(reverse=True)
    print(l1)
    #  [7, 5, 4, 4, 3, 2, 1]
    
    l1 = ['alex','yellow','xyz','blue']
    l1.sort(reverse=True)
    print(l1)
    # ['yellow', 'xyz', 'blue', 'alex']  按首字母排序
    
  • reverse():将原列表翻转

    l1 = [1,'a',3,'x','y']
    l1.reverse()
    print(l1)
    # ['y', 'x', 3, 'a', 1]
    
  • 列表相加:将两个列表相加为一个新列表

    l1 = ['a','b','c']
    l2 = [1,2,3]
    l3 = l1 + l2
    print(l3)
    # ['a', 'b', 'c', 1, 2, 3]
    
  • 列表与整数相乘:将列表重复n次,产生一个新列表

    l1 = ['a','b','c']
    l2 = l1 * 3
    print(l2)
    # ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
    

列表的特性:

  • 正向循环一个列表时,如果删除某个元素,那么这个元素后面所有元素都会向前进以为,它们的索引相比之前也会前进一位
  • 循环一个列表时,最好不要改变列表的大小,这样会影响最终的结果
# 例:删除列表索引为奇数的元素
li = [11,22,33,44,55]

# 1.直接删除
    del li[1::2]

# 2.倒序法删除元素,从末尾往首部删除,被删除元素之前的元素索引不会受到影响。
    for i in range(len(li)-1,-1)
        if i % 2 == 1:
            li.pop(i)
    print(li)

# 3.思维置换法
    li = [11,22,33,44,55]
    l2 = []
    for i in range(len(li)):
        if i % 2 == 0:
            l2.append(li[i])
    li = l2
    print(li)

dict 补充的方法:

update():
  • 字典的增:

    dic = {'name':'太白','age': 18}
    dic.update(sex='男',height=175)
    print(dic) 
    # {'name': '太白','age': 18,'sex': '男','height': 175}
    
dic.update([(1,'a'),(2,'b'),(3,'c')])
print(dic) 
# {'name':'太白','age': 18,1: 'a',2: 'b',3: 'c'}


# 字典的更新: 键已存在则修改,不存在则添加
dic1 = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic1.update(dic2)
print(dic1) 
# {'name': 'alex', 'age': 18, 'sex': 'male', 'weight': 75}
print(dic2) 
# {'name': 'alex', 'weight': 75}
  • fromkeys():键为一个可迭代对象,值共用一个
# 例:
dic = dic.fromkeys('abc',[])
print(dic)
# {'a':[],'b':[],'c':[]}

# 一个值若被修改则所有的值都会修改
dic[a].append(666)
print(dic)
# {'a':[666],'b':[666],'c':[666]}
  • list 和 set之间的转换:

    #list --> set
    set(list) 
    
    #set --> list
    list(set) 
    
  • 所有数据类型都可以转换为bool值:

    • 只有以下几个数据转换bool值为False:
      '', 0, {}, (), [], set(), None
原文地址:https://www.cnblogs.com/ChiRou/p/13416643.html