python笔记05 数据类型
上个笔记知识点总结:
-
列表中extend特性:extend,(内部循环,将另外一个列表,字符串、元组添加到extend前的列表中)
li.extend(s),将s中元素循环添加到li列表后。
列表删除功能:remove,pop,del。期中del可以通过切片删除范围 。
-
字符串反转:
方法1:
name[::-1]
方法2:
va=''
name_len=len(name)-1
while name_len>0:
for item in name:
val+=name[index]- range使用:
range(0,10,1)range(0,10)
range(10,-1,-1)(10,9,8,...0)
实例:打印0-100之间偶数:
方法1:
for item in range(0,100,2):
print(item)
方法2:
for item in range(0,101):
if item%2==0:
print(item)
- range使用:
打印产品序列
goods=['飞机','轮船','大炮']
for item in range(0,len(goods)):
print(item+1,goods[item])-
根据商品序号输出商品
goods=['飞机','轮船','大炮']
num=int(input('请输入商品数字:'))
if num>=0 and num <len(goods):
print(goods[num-1])
else:
print('请重新输入。')join用法
goods=['飞机','轮船','大炮']
li='zhangsan'
print(':'.join(li))
print('-'.join(goods))-
特殊定义法
v1=1
v2=(1)
v3=(1,)
print(type(v1),type(v2),type(v3))
<class 'int'> <class 'int'> <class 'tuple'>- 取出字符串中数字相加:
content = "5 + 99+7+ 2+ uu + 7y"
total=0
for item in content.split('+'):
item=item.strip()
if item.isdigit():
total=total+int(item)
print(total)
- 取出字符串中数字相加:
内容回顾和补充
- int
- py2/py3
- 除法(py2除出小数需要:from future import division ,float(53)/3 )
- 强制转换:
- int('字符串') 【重要】
- int(布尔值)
- bool
- 强制转换:
- bool(整数) -> bool(1)/.. -> bool(0)
- bool(字符串) -> bool('xx') --> bool("")
- bool(列表) -> bool([]) --> bool([])
- bool(元组) -> bool(()) --> bool(空元组)
v1 = bool(0)
v2 = bool("")
v3 = bool([])
v4 = bool(())
print(v1,v2,v3,v4) # False
- 强制转换:
- str
- 独有功能:upper/lower/split/strip/replace/isdigit/startswith/endswith/format/join/encode
- 公共公共:
- len
- 索引
- 切片
- 步长
- for循环
- 删除【无】
- 更新【无】
- 强制转换:
- str(999) # "999"
- str(True) # "True"
- str(["唐开发",'李忠伟']) # "["唐开发",'李忠伟']" --> v2 = "".join(["唐开发",'李忠伟'])
str(["唐开发",'李忠伟'])
v2 = "".join(["唐开发",'李忠伟'])
print(v2)
唐开发李忠伟
- list
- 独有功能:append/insert/pop/remove/clear/extend
- 公共功能:
- len
- 索引
- 切片
- 步长
- for循环
- 删除
- 更新
- 强制转换:
- list("asdfadfasfdadfasfd")
v1 = list("asdfadfasfdadfasfd")
print(v1) - list( (11,22,33,44,) )
v1 = list( (11,22,33,44,) ),元组列表。
print(v1)
- list("asdfadfasfdadfasfd")
- tuple
- 独有功能【无】
- 公共功能:
- len
- 索引
- 切片
- 步长
- for循环
- 删除【无】
- 更新【无】
- 强制转换:
- tuple('adfadfasdfasdfasdfafd')
v1 = tuple('adfadfasdfasdfasdfafd')
print(v1) - tuple([11,22,33,44])
v1 = tuple([11,22,33,44])
print(v1)
- tuple('adfadfasdfasdfasdfafd')
- 总结
- 常见的类型转换
# 字符串转数字
# 数字转字符串
# 列表转元组
# 元组转列表
# 其他转bool时,只有:0 “” [] ()
# 练习题
nums = [11,22,33,44]
for i in range(0,len(nums)):
nums[i] = str(nums[i])
resutl = '_'.join(nums)
print(resutl)
11_22_33_44
# 1. "".jon([元素必须是字符串,元素必须是字符串,])
- 常见的类型转换
今日内容
- 字典
帮助用户去表示一个事物的信息(事物是有多个属性)。
info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'} # 键值
# 请输出:我今天点%s,他的年龄是%s,性别是%s,他喜欢他的%s;
基本格式
data = {键:值,键:值,键:值,键:值,键:值,键:值,}
# 练习题
userinfo = {'usenrame':'alex','password':"oldboy"}
user = input('请输入用户:')
pwd = input('请输入密码:')
if userinfo['username'] == user and userinfo['password'] == pwd:
print('登陆成功')
else:
print('用户名或密码错误')
- 独有功能
info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}- keys,获取字典中所有的键。 ['name','age','gender','hobby']
# for item in info.keys():
# print(item) - values,获取字典中所有的值。 ['刘伟达','18','男','同桌']
# for item in info.values():
# print(item) - items,获取字典中的所有键值对。
# for v1,v2 in info.items():
# print(v1,v2)
- keys,获取字典中所有的键。 ['name','age','gender','hobby']
- 公共功能
len
info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
print(len(info))索引
info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
info['name']
info['age']切片【无】
步长【无】
-
for
info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}for item in info.keys():
print(item) for item in info.values():
print(item) for k,v in info.items():
print(k,v) -
修改(存在就修改/不存在就增加)
# 改值
info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
info['age'] = 19
print(info)# 改键
# 删除后再增加
del info['hobby']
info['xxxxx'] = 'x1' 删除
info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
del info['name']
print(info)
重点的数组类型
- 整型:int
- 布尔类型:bool
- 字符串:str
- 列表:list
- 元组:tuple
- 字典:dict