基本类型的补充

1.str

s1 = 'taiBAi'
# capitalize 首字母大写,其余变小写
print(s1.capitalize())   #Taibai


# swapcase  大小写翻转
print(s1.swapcase())    #TAIbaI


# title   #每个单词的首字母大写
msg= 'taibai say3hi'
print(msg.title())     #Taibai Say3Hi

#center   # 居中
s1 = 'barry'
print(s1.center(20))      #       barry        
print(s1.center(20,'*'))   #  *******barry********


# find :通过元素找索引,找到第一个就返回,找不到 返回-1
# index:通过元素找索引,找到第一个就返回,找不到 报错

s1 = 'barry'

print(s1.find('a'))  #1
print(s1.find('r'))   #2
print(s1.find('o'))   #-1
print(s1.index('o'))   #报错

2.tuple 元组

# 元组中如果只有一个元素,并且没有逗号,那么它不是元组,它与改元素的数据类型一致。 ***

tu1 = (1,)
print(tu1,type(tu1))   #(1,) <class 'tuple'>

tu = (1,2,3,3,3,2,2,3,)
# count 计数
print(tu.count(3))    #4

tu = ('太白', '日天', '太白')
# index
print(tu.index('太白'))   #0

3。list 列表

l1 = ['太白', '123', '女神', '大壮']

# index
print(l1.index('大壮'))  #3

# sort  **
l1 = [5, 4, 3, 7, 8, 6, 1, 9]
l1.sort()  # 默认从小到大排序
print(l1)   #[1, 3, 4, 5, 6, 7, 8, 9]

l1.sort(reverse=True)  # 从大到小排序  **
print(l1)    #[9, 8, 7, 6, 5, 4, 3, 1]

l1.reverse()  # 反转  **
print(l1)     #[9, 1, 6, 8, 7, 3, 4, 5]


# 列表可以相加
# l1 = [1, 2, 3]
# l2 = [1, 2, 3, '太白', '123', '女神']
# print(l1 + l2)   #[1, 2, 3, 1, 2, 3, '太白', '123', '女神']


# 列表与数字相乘
# l1 = [1, 'daf', 3]
# l2 = l1*3
# print(l2)     #[1, 'daf', 3, 1, 'daf', 3, 1, 'daf', 3]


l1 = [11, 22, 33, 44, 55]
# 索引为奇数对应的元素删除(不能一个一个删除,此l1只是举个例子,里面的元素不定)。
#  *** 重要

# 最简单的:
del l1[1::2]
print(l1)          #[11, 33, 55]

 # 倒序法删除元素
# for index in range(len(l1)-1,-1,-1):
#     if index % 2 == 1:
#         l1.pop(index)
# print(l1)        ##[11, 33, 55]

# 思维置换
l1 = [11, 22, 33, 44, 55]
new_l1 = []
for index in range(len(l1)):
    if index % 2 ==0:
        new_l1.append(l1[index])
# print(new_l1)
l1 = new_l1
print(l1)

# 循环一个列表的时,最好不要改变列表的大小,这样会影响你的最终的结果。

4.字典

# 字典的补充
# update ***更新,有则覆盖,无责添加
 dic = {'name': '太白', 'age': 18}
 dic.update(hobby='运动', hight='175')
print(dic)   #{'name': '太白', 'age': 18, 'hobby': '运动', 'hight': '175'}

dic.update(name='太白金星')  
print(dic)       #{'name': '太白金星', 'age': 18}

dic.update([(1, 'a'),(2, 'b'),(3, 'c'),(4, 'd')])  # 面试会考
print(dic)    #{'name': '太白', 'age': 18, 1: 'a', 2: 'b', 3: 'c', 4: 'd'}


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 = dict.fromkeys('abc', 100)
print(dic)   #{'a': 100, 'b': 100, 'c': 100}   #如果100改变的话。全部都一起改变

dic = dict.fromkeys([1, 2, 3], 'alex')
print(dic)    #  {1: 'alex', 2: 'alex', 3: 'alex'}

# 坑:值共有一个,面试题
dic = dict.fromkeys([1,2,3],[])
dic[1].append(666)
print(dic)     #{1: [666], 2: [666], 3: [666]}


dic = {'k1': '太白', 'k2': 'barry', 'k3': '白白', 'age': 18}
# 将字典中键含有'k'元素的键值对删除。

第一种
l1 = []
for key in dic:
    if 'k' in key:
        l1.append(key)
print(l1)   #['k1', 'k2', 'k3']
for i in l1:
    dic.pop(i)
print(dic)   #{'age': 18}


第二种
for key in list(dic.keys()):  # ['k1', 'k2', 'k3','age']  强转成列表
    if 'k' in key:
        dic.pop(key)
print(dic)   #{'age': 18}

 注意一点: fromkeys()  ,前面参数是可迭代的,后面的value值.跟着可迭代对象,如果value值有变动..所有的值都跟着变动

posted @ 2020-05-13 21:08  水晶冰洛  阅读(114)  评论(0编辑  收藏  举报