编码方式
ASCLL编码:包含英文数字等字符,每个字符1个字节
GBK编码: 兼容ASCALL编码,包含21003个中文,英文1个字节,汉字2个字节
Unicode字符集: 国际统一编码,旧字符集每个字符2字节,新字符集4字节
UTF-8编码:Unicode的存储于传输方式,英文1字节,中文3字节
使用字符串添加值产生垃圾内存多
例:
result =''
for number in range(10):
result +=str(number) #这种方法简单但是产生新字符串垃圾内存
建议:
列表变字符串
list_result = []
for number in range(10):
list_result.append(str(number))
str_result = "".join(list_result)
print(str_result)
例2
result = []
while True:
str_number = input("请输入:")
if str_number =="":
break
result.append(str_number)
str_result = "-".join(result)
print(str_result)
字符串变列表
列表 = “a-b-c-d”.split(“分隔符”)
例: list_result = “孙悟空_猪八戒_唐僧”.split(“_”)
print(list_result) [‘孙悟空’, ‘猪八戒’, ‘唐僧’]
列表添加元素 list01.append() list01.insert()
列表删除元素 list01.remove(元素) 或del
列表转字典
列表转换为字典的格式要求:列表中元素必须能够一分二
例: list =[(“a”,“b”),(“c”,“d”)]
list01 = [(“唐曾”,500),[“猪八戒”,100],“沙僧”]
dict01 = dict(list01) 得到 {‘唐曾’: 500, ‘猪八戒’: 100, ‘沙’: ‘僧’}
列表推导式
例:list01 = [14,34,45,62,2,6]
list_result = [number for number in list01 if number>10 ] #大于10的数字列表
“”"
使用列表推导式生成1–50之间能被3或者5整除的数
使用列表推导式生成5–100之间的数字平方
“”"
list_number = [number for number in range(1,50) if number %3 0 or number %50]
list_number = [number **2 for number in range(5,101)]
python有多少种数据类型 == 两种 一种是可以变的 一种是不可变得
元组容器的思想
容器名称[开始:结束:间隔]
例:
month = int(input("请输入月份:"))
if month ==2:
print("28天")
#elif month ==4 or month ==6 or month ==9 or month ==11:
elif month in (4,6,9,11):
print("30天")
else:
print("31天")
改为:
month = int(input("请输入月份:"))
tuple_days = (31,28,31,30,31,30,31,31,30,31,30,31)
print(tuple_days[month -1])
字典添加元素
添加修改之前判断
**例:**
```python
新增键值做判断
if "ss" not in dict01:
dict01["ss"] = 113
修改数据做判断:
if "qtx" in dict01:
dict01["qtx"] = 34
删除del字典[键]
del dict01["bj"]
遍历
(所有键)
格式:for 键名 in 字典
for key in dict01:
print(key)
(所有值)
格式:for 值名 in 字典.values():
for value in dict01.values():
print()
(所有的键和值)
格式:for 键,值 in 字典.items():
for key,value in dict01.items():
print(key)
print(value)
```|
**字典推导式**
例:
#dict01 = {}
# for number in range(1,11):
# if number %2 ==0:
#dict01[number] =number
推导式
dict01 = {number:number **2 for number in range(1,11) if number %2 ==0}
推导式2
list_name = [“张无忌”,“赵敏”,“周芷若”]
list_room = [101,102,103]
dict_info = {list_room[i]:list_name[i] for i in range(len(list_room))}
print(dict_info)
取值 :reserved_dict_info = {value:key for key,value in dict_info.items()} //键值倒转
集合管理
“”"
价值1:去重复
价值2 :数学运算(交集(共同元素),并集(不重复的,其他语言是或),补集,子集,超集)
“”"
创建 :
list01 = [“孙悟空”,“猪八戒”,“唐僧”]
set01 = set(list01)
添加 :
set01.add(“沙僧”)
删除:
set01.remove(“猪八戒”)
‘’’
列表适合:存储单一维度的信息
疫情地区列表(地区)
字典适合:存储多个维度的信息
疫情信息(地区、新增人数、现有人数…)
‘’’