(了解)数据结构类型转换
(常用)数字、字符串转换
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。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(键列表, 值列表) 然后再dict转型
dict(zip(list2, list1)) → {'姓名': '小明', '年龄': 7, '性别': 'male'}
(常用)eval()
eval(字符串) 把字符串信息当做python表达式来解释运行。
eval("print('hello')") → hello
eval('[1, 2, 3]') → [1, 2, 3]
攻击:用户前台表单输入一段特殊字符串,包含Python代码,代码获取磁盘信息,修改,eval()执行这段恶意字符串