文章目录
个人学习总结,持续更新中……
字符串
split()
str.split(str="", num=string.count(str))
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。
注意:a.split()和a.split(’ ')是不一样的
a = '122 345'
b = a.split()
print(b)
# ['122', '345']
a = '122 345'
b = a.split(' ')
print(b)
# ['122', '', '', '', '', '', '', '345']
列表
常见操作
列表相减
list_1 = [1, 2, 3, 4, 5]
list_2 = [1, 2, 3]
print(list(set(list_1) ^ set(list_2)))
'''
[4, 5]
'''
字典
字典键的特性:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个键值对会覆盖前一个键值对;
2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
创建
普通创建
d1 = dict(a=1, b=2, c=3) # 创建
print('d1: ', d1)
'''
d1: {'a': 1, 'b': 2, 'c': 3}
'''
d2 = dict([('a', 1), ('b', 2), ('c', 3)]) # 创建
print('d2: ', d2)
'''
d2: {'a': 1, 'b': 2, 'c': 3}
'''
d3 = {'a': 1, 'b': 2, 'c': 3} # 创建
print('d3: ', d3)
'''
d3: {'a': 1, 'b': 2, 'c': 3}
'''
d4 = dict(zip(['a', 'b', 'c'], [1, 2, 3]))
print('d4: ', d4)
'''
d4: {'a': 1, 'b': 2, 'c': 3}
'''
eval(s)
# python中有一个内置函数eval
# 字符串为"{'A':123,'B':456,'C':789}"
s = "{'A':123,'B':456,'C':789}"
s_dic = eval(s)
print(s_dic)
# {'A': 123, 'B': 456, 'C': 789}
print(type(s_dic))
# <class 'dict'>
添加或更新元素
d[‘t’] = 1
d = {} # 创建空字典
d['t'] = 1 # 添加元素
d['p'] = 2
d['z'] = 3
print('d: ', d)
# d: {'t': 1, 'p': 2, 'z': 3}
d.update({‘c’: 3})
Python 字典 update() 函数把字典参数 dict的 key/value(键/值) 对更新到字典 dict 里。
如果键相同,则更新值,如果键不同,则添加。
d = dict([('a', 1), ('b', 2)])
d.update({'c': 3})
print(f'd:\n{d}')
# {'a': 1, 'b': 2, 'c': 3}
{**d1, **d2} **字典解包装运算符
如果键相同,则更新值,如果键不同,则添加。
d1 = dict([('a', 1), ('b', 2)])
d2 = {'c': 3}
d3 = {**d1, **d2}
print(d3)
# {'a': 1, 'b': 2, 'c': 3}
删除元素 d.pop(‘c’)
d = dict([('a', 1), ('b', 2), ('c', 3)])
d.pop('c') # 删除元素
print(d)
# {'a': 1, 'b': 2}
属性
d.items()
返回可遍历的(键, 值) 元组数组。
可以list转换为列表
d = dict([('a', 1), ('b', 2)])
print(f'd.items():\n{d.items()}')
'''
d.items():
dict_items([('a', 1), ('b', 2)])
'''
print(f'list(d.items()):\n{list(d.items())}')
'''
list(d.items()):
[('a', 1), ('b', 2)]
'''
a = dict(d.items())
print(f'a:\n{a}')
'''
a:
{'a': 1, 'b': 2}
'''
d.keys()
返回可遍历的键元组数组。
可以list转换为列表
d = dict([('a', 1), ('b', 2)])
print(f'd.keys():\n{d.keys()}')
'''
d.keys():
dict_keys(['a', 'b'])
'''
print(f'list(d.keys()):\n{list(d.keys())}')
'''
list(d.keys()):
['a', 'b']
'''
d.values()
返回可遍历的值元组数组。
可以list转换为列表
d = dict([('a', 1), ('b', 2)])
print(f'd.values():\n{d.values()}')
'''
d.values():
dict_values([1, 2])
'''
print(f'list(d.values()):\n{list(d.values())}')
'''
list(d.values()):
[1, 2]
'''
访问元素
d[‘Name’]
d = {'Name': 'Runoob', 'Age': 7, 'score': 'First'}
print(d['Name'])
# Runoob
d.get(‘score’)
d = {'Name': 'Runoob', 'Age': 7, 'score': 'First'}
print(d.get('score'))
# First
遍历字典
for key in dict
d = {'a': 1, 'b': 2, 'c': 3} # 创建
for k in d:
print(k, d[k])
'''
a 1
b 2
c 3
'''
for key, values in dict.items()
dict = {'a': 1, 'b': 2, 'c': 3} # 创建
for k, v in dict.items():
print(k, v)
'''
a 1
b 2
c 3
'''
查询
d = {'a': 1, 'b': 2, 'c': 3} # 创建
if 'a' in d:
print(d['a'])
# 1
判断是否为空
在python 中 None,空列表[],空元组(),空字典{},0都是被程序判断为False ,所以我们判断对象是否为空可以直接使用if x 或者if not x 的方法来判断对象是否为空。
# 方法一:len()
list1 = {}
if len(list1) == 0:
print("dict is empty")
# dict is empty
# 方法二:直接使用if判断
list2 = {}
if not list2:
print("dict is empty")
# dict is empty
# 方法三:使用 空列表进行判断
list3 = {}
emptylist = {}
if list3 == emptylist:
print("dict is empty")
# dict is empty
排序
按key排序
dir_info = {'a': 1, 'd': 8, 'c': 3, 'b': 5}
print(dir_info)
# {'a': 1, 'd': 8, 'c': 3, 'b': 5}
# 按key排序
dir_sort = sorted(dir_info.items(), key=lambda x: x[0], reverse=False)
print(dir_sort)
# [('a', 1), ('b', 5), ('c', 3), ('d', 8)]
按value排序
dir_info = {'a': 1, 'd': 8, 'c': 3, 'b': 5}
print(dir_info)
# {'a': 1, 'd': 8, 'c': 3, 'b': 5}
# 按value排序
dir_sort = sorted(dir_info.items(), key=lambda x: x[1], reverse=True)
print(dir_sort)
# [('d', 8), ('b', 5), ('c', 3), ('a', 1)]
类似switch的用法
def sum1(a):
return a + 1
def sum2(a):
return a + 2
def sum3(a):
return a + 3
sum_kinds = {'sum1': sum1,
'sum2': sum2,
'sum3': sum3}
def sum_cal(sum_k, a):
b = sum_kinds[sum_k](a)
return b
c = sum_cal('sum1', 100)
print(c)
# 101