python小技巧
#coding:utf-8
# 知识点一:将2个字典合成一个字典
dict1={'小颜':18,'小小':"20",'小A':48}
dict2={'小酒':18,"MM":24,'小小':24}
dict3={**dict1,**dict2,'小米':'ss'}
print(dict3)
dict3={**dict2,**dict1}
print(dict3)
输出:

#知识点二:对字典进行排序
dict1={0:18,3:20,2:48,5:20}
#对字典得键进行排序
print(sorted(dict1.keys()))
#对字典得值进行排序
print(sorted(dict1.values()))
#对字典得键值对进行排序
#需要先将键值对转换成元组,再对元组进行排序
#但此时默认是对元组得第一个元素进行排序
print(sorted(dict1.items()))
#修改成对元素得第2个元素进行排序
print(sorted(dict1.items(), key=lambda x:x[1],reverse=True))
#排序完成,需要将其修改回字典
print({k:v for k,v in sorted(dict1.items(), key=lambda x:x[1],reverse=True)})
输出:

#知识点三:使用in, not in表示包含关系
a='This is a book'
b='book'
print(b in a)
print(b not in a)
输出:

#知识点四:extend和append的区别
#extend表示拆包后添加进去
a=[1,2,3,4]
b=[5,6]
a.append(b)
print(a)#输出[1, 2, 3, 4, [5, 6]]
a=[1,2,3]
a.extend(b)
print(a)#输出[1, 2, 3, 5, 6]
#print(d)
输出:

#知识点五:深拷贝和浅拷贝
import copy#深拷贝需要导入copy
a=[1,2,3,4,[1,2]]
b=a.copy()
c=copy.deepcopy(a)
a[4].append(4)
print(b)# 当a改变时b也跟着改变,ab独立,但是他们的子对象指同一个内存空间。输出:[1, 2, 3, 4, [1, 2, 4]]
print(c)#当a改变时c不会改变,完全拷贝,完全独立。输出:[1, 2, 3, 4, [1, 2]]
输出:

#知识点六:dir 可以知道对象得所有方法
name='lxh'
print(name.upper())#转换成全大写字符
print(dir(name))#查询name得所有方法
输出:['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
#知识点七:pprint,输出的字符格式变得好看点
import pprint
pprint.pprint(dir(str))
输出:
['__add__',
'__class__',
'__contains__',
'__delattr__',
'__dir__',
'__doc__',
'__eq__',
'__format__',
'__ge__',
'__getattribute__',
'__getitem__',
'__getnewargs__',
'__gt__',
'__hash__',
'__init__',
'__init_subclass__',
'__iter__',
'__le__',
'__len__',
'__lt__',
'__mod__',
'__mul__',
'__ne__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__rmod__',
'__rmul__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'capitalize',
'casefold',
'center',
'count',
'encode',
'endswith',
'expandtabs',
'find',
'format',
'format_map',
'index',
'isalnum',
'isalpha',
'isascii',
'isdecimal',
'isdigit',
'isidentifier',
'islower',
'isnumeric',
'isprintable',
'isspace',
'istitle',
'isupper',
'join',
'ljust',
'lower',
'lstrip',
'maketrans',
'partition',
'replace',
'rfind',
'rindex',
'rjust',
'rpartition',
'rsplit',
'rstrip',
'split',
'splitlines',
'startswith',
'strip',
'swapcase',
'title',
'translate',
'upper',
'zfill']
#知识点八:zip组合列表
names=['罗一一','已的','小心','丫丫']
score=[99,87,76,88]
#循环输出人名和对应的成绩
for name,score in zip(names,score):
print(name,score)
输出:

#知识点九:三元运算符
x=23
print('偶数') if x%2==0 else print('奇数')
输出:奇数

浙公网安备 33010602011771号