- 请说出下面a,b,c三个变量的数据类型。
```python
a = ('太白金星')
b = (1,)
c = ({'name': 'barry'})
```
# 结果:
# str
# tuple
# dict
2.按照需求为列表排序:
l1 = [1, 3, 6, 7, 9, 8, 5, 4, 2]
# 从大到小排序
# 从小到大排序
# 反转l1列表
结果:
l1 = [1, 3, 6, 7, 9, 8, 5, 4, 2]
# # 从大到小排序
l1.sort()
print(l1)
# # 从小到大排序
l1.sort(reverse=True)
print(l1)
# # 反转l1列表
l1.reverse()
print(l1)
3.利用python代码构建一个这样的列表(升级题):
[['_','_','_'],['_','_','_'],['_','_','_']]
lis1 = ['_', '_', '_']
lis = [lis1,lis1,lis1]
print(lis)
4.看代码写结果:
l1 = [1,2,]
l1 += [3,4]
print(l1)
l1 = [1,2,3,4]
5.看代码写结果:
```python
dic = dict.fromkeys('abc',[])
dic['a'].append(666)
dic['b'].append(111)
print(dic)
```
# {'a': [666, 111], 'b': [666, 111], 'c': [666, 111]}
-
l1 = [11, 22, 33, 44, 55],请把索引为奇数对应的元素删除(不能一个一个删除,此l1只是举个例子,里面的元素不定)
# 方法一,切片删除 l1 = [11, 22, 33, 44, 55] del l1[1::2] print(l1) # 方法二,倒序删除 l1 = [11, 22, 33, 44, 55] for i in range(len(l1)-1,-1,-1): if i % 2 == 1: l1.pop(i) print(l1)
-
dic = {'k1':'太白','k2':'barry','k3': '白白', 'age': 18} 请将字典中所有键带k元素的键值对删除.
dic = {'k1': '太白', 'k2': 'barry', 'k3': '白白', 'age': 18} for i in list(dic.keys()): if 'k' in i: dic.pop(i) print(dic)
-
bytes数据类型是python的基础数据类型,bytes类型存在的意义是什么?
bytes类型也称作字节文本,他的主要用途就是网络的数据传输,与数据存储
-
列举bytes类型与str类型的三个不同点?
-
完成下列需求:
s1 = '太白金星'
# 将s1转换成utf-8的bytes类型。
# 将s1转化成gbk的bytes类型。
b = b'xe5xa4xaaxe7x99xbdxe6x9cx80xe5xb8x85'
# b为utf-8的bytes类型,请转换成gbk的bytes类型。
s1 = '太白金星'
# # 将s1转换成utf-8的bytes类型。
b1 = s1.encode('utf-8')
print(b1,type(b1))
# # 将s1转化成gbk的bytes类型
b1 = s1.encode('gbk')
print(b1,type(b1))
b = b'xe5xa4xaaxe7x99xbdxe6x9cx80xe5xb8x85'
# b为utf - 8的bytes类型,请转换成gbk的bytes类型。
# b1 = b.decode('utf-8')
# print(b1,type(b1))
b1 = b.decode('utf-8').encode('gbk')
print(b1,type(b1))
-
用户输入一个数字,判断一个数是否是水仙花数。
水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数,
# 例如: 153 =1**3 + 5**3 + 3**3
while 1:
num = input('请输入一个三位数:(Q/q退出)').strip()
print('-'*30)
if num.upper() == 'Q':break
elif num.isnumeric() and len(num) == 3:
if int(num) == int(num[0])**3 + int(num[1])**3 + int(num[2])**3:
print('这是一个水仙花数。~~~~~')
else:
print('这不是一个水仙花数,请重新输入。')
else:
print('输入有误,请重新输入。')
print('*'*30)
print('
')
-
把列表中所有姓周的⼈的信息删掉(此题有坑, 请慎重):
lst = ['周⽼⼆', '周星星', '麻花藤', '周扒⽪']
结果: lst = ['麻花藤']
lst = ['周⽼⼆', '周星星', '麻花藤', '周扒⽪'] lst1 = [] for i in range(0,len(lst)): if '周' in lst[i]: lst1.append(lst[i]) lst = list(set(lst) - set(lst1)) print(f'lst = {lst}') # 利用集合差集来为列表去重
-
车牌区域划分, 现给出以下车牌. 根据车牌的信息, 分析出各省的车牌持有量. (选做题)
cars = ['鲁A32444','鲁B12333','京B8989M','⿊C49678','⿊C46555','沪 B25041'.....]
locals = {'沪':'上海', '⿊':'⿊⻰江', '鲁':'⼭东', '鄂':'湖北', '湘':'湖南'.....}
结果: {'⿊⻰江':2, '⼭东': 1, '北京': 1}
cars = ['鲁A32444', '鲁B12333', '京B8989M', '⿊C49678', '⿊C46555', '沪 B25041']
locals = {'沪': '上海', '⿊': '⿊⻰江', '鲁': '⼭东', '鄂': '湖北', '湘': '湖南','京':'北京'}
sor = dict()
# list_key = list(locals.keys())
for i in list(locals.keys()):
con = 0
for l in range(0,len(cars)):
if i in cars[l]:
con += 1
# if con > 0:
sor.setdefault(locals.get(i),con)
print(sor)