L4.六.数据结构类型转换md

(了解)数据结构类型转换
===

## (常用)数字、字符串转换
int('1') → 1
float('2.5') → 2.5
str(1) → '1'


## (了解)列表、字典、元祖、字符串

字典转字符串
student_dict = {'name':'小明','age':7,'sex':'male'}
str(student_dict)
"{'name': '小明', 'age': 7, 'sex': 'male'}"

列表转字符串
str([1,2,3])
'[1, 2, 3]'

元祖转字符串
str((1,2,3))
'(1, 2, 3)'

字典转列表
list(student_dict) → ['name', 'age', 'sex']

字典转元祖
tuple(student_dict)
('name', 'age', 'sex')

(常用) 列表元祖互转
name_list = ['小明','小红','小白']
tuple(name_list) → ('小明','小红','小白')
name_tuple = ('小明','小红','小白')
list(name_tuple) → ['小明','小红','小白']


## zip()
假设你从数据库或别人提供了两个列表
第一个列表里全是value 第二个列表全是key
要求返回前端{'name':'小明','age':7,'sex':'male'}

list1 = ['小明',7,'male']
list2 = ['姓名','年龄','性别']
普通方法来做的话
result = {}
for i in range(0,len(list1)):
result[list2[0]] = list1[0]
print(result)


zip方法 压缩包方法
zip(键列表,值列表) 然后再dict转型
dict(zip(list2,list1))
{'姓名': '小明', '年龄': 7, '性别': 'male'}


## (常用)eval 求..值
eval(字符串) 吧字符串当做python表达式来解释运行
eval("print('hello')")
hello

eval('[1,2,3]')
[1, 2, 3]

攻击: 用户前台表单输入一段特殊字符串,包含python代码,代码获取磁盘信息、修改文件。eval()执行这段恶意字符串就会导致安全问题,所以尽量少用eval()

猜你喜欢

转载自www.cnblogs.com/psy0508/p/9974532.html