学习记录---Python内置类型


个人学习总结,持续更新中……

字符串

split()

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

排序

Python教程按照字典的键或值进行排序方法解析

按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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值