目录
接上篇👉Python 数据类型常用的内置方法(二)
实例如下:
lst = [2, 111, 3, 222, 11, 1, 22, 33, 333]
#升序操作
lst.sort()
print(lst)
#降序操作
lst.sort(reverse=True)
print(lst)
#结果
[1, 2, 3, 11, 22, 33, 111, 222, 333]
[333, 222, 111, 33, 22, 11, 3, 2, 1]
实例如下:
lst1 = [1, 2, 3, 4, 5, 6, 7]
# 颠倒顺序
lst1.reverse()
print(lst1)
lst1 = [1, 2, 3, 4, 5, 6, 7]
# 步长取-1功能相当于reverse()
print(lst1[::-1])
#结果
[7, 6, 5, 4, 3, 2, 1]
[7, 6, 5, 4, 3, 2, 1]
实例如下:
lst2 = [333, 444, 555]
lst3 = [111, 999, 999999, 1, 2, 3]
# 只比较了第一个元素,333>111,程序结束
print(lst2 < lst3)
#结果
False
python字典你值得拥有!
实例如下:
#1、按K取值
dic = {"name": "HammerZe", "age": 18, "hobby": "study python"}
print(dic['name'],dic['age'],dic['hobby'])
#结果
HammerZe 18 study python
#K不存在,报错的情况
print(dic['nixx'])
#结果
KeyError: 'nixx'
#2、按K修改值
# 1、按K取值
dic = {"name": "HammerZe", "age": 18, "hobby": "study python"}
# k存在的情况,为修改值
dic['hobby'] = 'play game'
print(dic)
# k不存在的情况,为添加值
dic['sex'] = 'man'
print(dic)
#结果
{'name': 'HammerZe', 'age': 18, 'hobby': 'play game'}
{'name': 'HammerZe', 'age': 18, 'hobby': 'play game', 'sex': 'man'}
实例如下:
# len()统计键值对个数
dic = {"name": "HammerZe", "age": 18, "hobby": "study python"}
print(len(dic))
#结果
3
实例如下:
dic = {"name": "HammerZe", "age": 18, "hobby": "study python"}
#in运算
print('age' in dic)
#not in 运算
print('name' not in dic)
#name 和 age键都在字典里
#结果
True
False
实例如下:
dic = {'name': 'HammerZe', 'age': 18,
'hobby': 'study python', 'sex': 'man'}
# 根据Key删除,'sex'
del dic['sex']
print(dic)
# pop方法弹出'age',打印可以输出value
# dic.pop('age')
print(dic.pop('age'))
print(dic)
# popitem方法
dic = {'name': 'HammerZe', 'age': 18,
'hobby': 'study python', 'sex': 'man'}
# dic.popitem()
print(dic.popitem()) # 输出弹出的内容为元组,前面是key后面为value
print(dic)
实例如下
dic = {'name': 'HammerZe', 'age': 18,
'hobby': 'study python', 'sex': 'man'}
# 按key取值
print(dic.get('name'))
# 按key取值,key不存在的情况,返回None
print(dic.get('height'))
# 搭配两个参数使用,k存在的情况,不会根据后面的值变动,返回原来的值
print(dic.get('age', 11)) # 这里赋值11不会改变原来的值
# 搭配两个参数使用,k不存在的情况,自定义信息
print(dic.get('weight', 140)) # 输出信息
print(dic)
实例如下:
dic = {'name': 'HammerZe', 'age': 18,
'hobby': 'study python', 'sex': 'man'}
# 获取所有键
print(dic.keys())
# 获取所有值
print(dic.values())
# 获取所有键值对
print(dic.items())
#结果
dict_keys(['name', 'age', 'hobby', 'sex'])
dict_values(['HammerZe', 18, 'study python', 'man'])
dict_items([('name', 'HammerZe'), ('age', 18), ('hobby', 'study python'), ('sex', 'man')])
实例如下:
# k不存在的情况,为添加值
dic['sex'] = 'man'
print(dic)
#区分上面
#update更新字典
dic = {'name': 'HammerZe', 'age': 18,
'hobby': 'study python', 'sex': 'man'}
# key 存在的情况,修改值
dic.update({'name':'Ze'})
print(dic)
# key 不在的情况,添加键值对
dic.update({'height':'189'})
print(dic)
#结果
{'name': 'Ze', 'age': 18, 'hobby': 'study python', 'sex': 'man'}
{'name': 'Ze', 'age': 18, 'hobby': 'study python', 'sex': 'man', 'height': '189'}
实例如下:!!面试笔试题
#没有设置第二个参数的情况
dic = dict.fromkeys(['k1','k2','k3'],[])
print(dic)
dic1 = dict.fromkeys(range(5))
print(dic1)
#结果
{'k1': [], 'k2': [], 'k3': []}
{0: None, 1: None, 2: None, 3: None, 4: None}
# 设置第二个参数的情况
dic2 = dict.fromkeys(range(5),'python')
print(dic2)
#结果
{0: 'python', 1: 'python', 2: 'python', 3: 'python', 4: 'python'}
实例如下:
# print(tuple(1)) #整型不能转换
# print(tuple(1.234)) # 整型不能转换
print(tuple('python')) # 字符串可以转换
# 结果
# ('p', 'y', 't', 'h', 'o', 'n')
print(tuple([1, 2, 3, 4, 5])) # 列表可以转换
# 结果
# (1, 2, 3, 4, 5)
print(tuple({"name":"HammerZe"})) # 字典可以转换,输出key
# 结果
# ('name',)
print(tuple({1,2,3,4})) # 集合可以转换
# 结果
# (1, 2, 3, 4)
注意!!,容器类型存储数据的时候建议在元素末尾添加逗号
实例如下:
tup = (1,)
set = {1,}
dic = {'name':'',}
print(type(tup),type(set),type(dic))
#结果
<class 'tuple'> <class 'set'> <class 'dict'>
实例如下:
tup = (1, 2, 3, 4, 5, 6, 7)
#正向索引
print(tup[0])
#负向索引
print(tup[-1])
#结果
1
7
实例如下:
(1, 2, 3, 4, 5, 6, 7)
(1, 3, 5)
(7, 6, 5, 4, 3, 2, 1)tup = (1, 2, 3, 4, 5, 6, 7)
print(tup[0:7])
print(tup[0:-1:2])
print(tup[::-1])
#结果
(1, 2, 3, 4, 5, 6, 7)
(1, 3, 5)
(7, 6, 5, 4, 3, 2, 1)
实例如下:
tup = (1, 2, 3, 4, 5, 6, 7)
print(len(tup))
#结果
7
实例如下:
tup = (1, 1, 2, 2, 22, 333, 44, 4, 4, 4,)
print(tup.count(4))
#结果
3
元组为只读列表,即数据可以被查询,但不能被修改,但是我们可以在元组的元素中存放一个列表,这样就可以改变元组内部存储的值,但元组还是不可变类型,改变的只是元组内的列表。 实例如下:
tup = (1, 2, 3, [4, 5, 6])
print(id(tup), type(tup))
# 追加元素到元组内部的列表
tup[3].append(7)
# 结果
print(tup,id(tup),type(tup))
'''查看id发现并没有改变,
和不可变类型的定义相反,
但是改变的是列表的值,
列表的地址没有改变,
列表在元组中的地址的值没有改变,
所以也就意味着元组没有发生变化'''
实例如下:
# 定义一个无序列表
s1 = {1, 4, 7, 8, 5, 2, 3, 9, 96, 2}
# 输出的结果也是无序的
print(s1)
#结果
{96, 1, 2, 3, 4, 5, 7, 8, 9}
符号 | 字符 | 功能 |
---|---|---|
| | union | 并集 |
& | intersection | 交集 |
- | difference | 差集 |
^ | symmetric_difference | 对称差集 |
| issubset | 子集 |
实例如下: 符号和方法名两种演示方法:
# 定义一个无序列表
s1 = {1, 2, 3, 5, 6}
s2 = {1, 2, 3, 4, 7, 8}
# 并集
print(s1.union(s2))
print(s1 | s2)
# 交集
print(s1.intersection(s2))
print(s1 & s2)
# 差集
print(s1.difference(s2))
print(s1 - s2)
# 对称差集
print(s1.symmetric_difference(s2))
print(s1^s2)
#子集
print(s1.issubset(s2))
print(s1<s2)
#结果
{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3}
{1, 2, 3}
{5, 6}
{5, 6}
{4, 5, 6, 7, 8}
{4, 5, 6, 7, 8}
False
False