python基础数据类型汇总
2022-04-01 15:41:03 5 举报
AI智能生成
总结
作者其他创作
大纲/内容
list列表 []
why
- ‘ 1 True alex’像这样的字符串,我如果通过切片或者其他方法将1 True alex 取出来,他也只能是字符串,但是我想要得到数字的1,布尔值的True,必须还要转化,是不是很麻烦,对于字符串来说,我只能存储少量的单一的(字符串类型)的数据,不方便,python给咱们也提供了一类数据类型,他能承载类型,这类数据被称做容器数据类型可以存储大量的数据。list列表就属于容器类的数据类型
①what
how
1.可用于索引切片
列表是有序的从左至右每个元素都有索引索引是从零开始的
前提:按照索引取值,该值是什么数据类型,取出来不变
li = ['小杨',[1,2,3],'WuSir','女神']
print(1i[1]) # [1,2,3]
print(li[-1]) # '女神'
print(li[1:3]) # [[1,2,3], 'WuSir']
print(li[-1:-4:-1]) #['女神','WuSir',[1,2,3]]
前提:按照索引取值,该值是什么数据类型,取出来不变
li = ['小杨',[1,2,3],'WuSir','女神']
print(1i[1]) # [1,2,3]
print(li[-1]) # '女神'
print(li[1:3]) # [[1,2,3], 'WuSir']
print(li[-1:-4:-1]) #['女神','WuSir',[1,2,3]]
2. 列表的操作方法
增
append追加
默认追加到最后面
l1 = ['王韩', '杨杰', '维鑫', '常山', '狗达']
l1.append('晓松')
l1.append('少坤')
print(l1)
l1 = ['王韩', '杨杰', '维鑫', '常山', '狗达']
l1.append('晓松')
l1.append('少坤')
print(l1)
insert(按照索引插入)
可用指定位置插入
# l1.insert(1, '正阳')
l1.insert(-2, '陈龙')
print(l1)
# l1.insert(1, '正阳')
l1.insert(-2, '陈龙')
print(l1)
extend迭代着追加
for i in 'barry':
l1.append(i)
l1.extend('barry')
l1.extend(100) 数字不是可迭代对象 保存
l1.extend(['abc', 'rrr', 'y'])
l1.extend(['abc', 100, 'y'])
print(l1)
l1.append(i)
l1.extend('barry')
l1.extend(100) 数字不是可迭代对象 保存
l1.extend(['abc', 'rrr', 'y'])
l1.extend(['abc', 100, 'y'])
print(l1)
删
pop按照索引删
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
# l1.pop() # 默认删除最后一个元素
# l1.pop(1) # 按照指定的索引删除
ret = l1.pop(2) # pop可以返回被删除的元素
print(ret)
print(l1)
# l1.pop() # 默认删除最后一个元素
# l1.pop(1) # 按照指定的索引删除
ret = l1.pop(2) # pop可以返回被删除的元素
print(ret)
print(l1)
remove按照元素删除
(如果在多个元素,只能删除第一个)
(如果在多个元素,只能删除第一个)
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
l1.remove('常山')
print(l1)
l1.remove('常山')
print(l1)
celar 清空
会保留, 列表[]
会保留, 列表[]
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
l1.clear()
print(l1)
l1.clear()
print(l1)
del 删除会报错
按照索引删除
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
del l1[2]
print(l1)
del l1[2]
print(l1)
切片删除
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
del l1[1:]
print(l1)
del l1[1:]
print(l1)
切片(步长)删除该元素
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
del l1[::2]
print(l1)
del l1[::2]
print(l1)
改 有三种
1。 按照索引修改 元素
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
l1[1] # 按照索引取值,是查询的意思
l1[1] = 把它放在等号的左边,代表的是此列表索引为1的这个位置。
l1[1] = '天畅'
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
l1[1] # 按照索引取值,是查询的意思
l1[1] = 把它放在等号的左边,代表的是此列表索引为1的这个位置。
l1[1] = '天畅'
2. 按照切片修改;迭代修改 元素
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
l1[:3] = 'abcde'
l1[:3] = ['barry', 'allen', 'spiderman', 'superman']
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
l1[:3] = 'abcde'
l1[:3] = ['barry', 'allen', 'spiderman', 'superman']
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
l1[:3] = 'abcde'
l1[:3] = ['barry', 'allen', 'spiderman', 'superman']
l1[:3] = 'abcde'
l1[:3] = ['barry', 'allen', 'spiderman', 'superman']
3. 按照切片+步长修改 元素
l1 = ['王韩', '常山', '杨杰', '维鑫', '常山', '狗达']
# l1[:-1:2] = 'abc'
# l1[:-1:2] = 'abcd' # 报错,数量一致
print(l1)
# l1[:-1:2] = 'abc'
# l1[:-1:2] = 'abcd' # 报错,数量一致
print(l1)
查
按照索引查询
按照切片查询
for循环遍历
for_ in l1:
print(_)
按照切片查询
for循环遍历
for_ in l1:
print(_)
其他操作方法
where
当你的程序中需要设置有大量的数据时,需要考虑列表
tuple元组()
why
what
how
1.可以索引切片(步长)
2.元组的操作方法
查
其他操作方法
index索引
通过元素找索引(可切片),找到第一个元素就返回,
找不到该元素就报错
找不到该元素就报错
l1 = ( '常山', [1,2,3,4], '', '常山', '狗达']
print(l1.index('杨杰')) # 0
print(l1.index('杨杰')) # 0
count查看总次数
获取某元素在list中出现的次数
l1 = ( '常山', '杨杰', '' '常山', '狗达']
print(l1.count('杨杰')) #1
print(l1.count('杨杰')) #1
①where
dict字典{}
①why
what
how
增
①直接增加 方式一
注:等号放在左边:代表的是此list索引的位置[元素]
dic = {'name':'小杨','age': 18}
dic['hello'] = '你好' # 没有 你好 则增加,这个键值对
print(dic)
dic['name'] = 'xiao' # 有这个name这个键,就改成 xiao
print(dic) # ['name':'xiao'],'age':18,'hello':'你好']
dic = {'name':'小杨','age': 18}
dic['hello'] = '你好' # 没有 你好 则增加,这个键值对
print(dic)
dic['name'] = 'xiao' # 有这个name这个键,就改成 xiao
print(dic) # ['name':'xiao'],'age':18,'hello':'你好']
②update 方式二
# 方法二 update 用法很多 与方法一类似
dic = {'name':'小杨','age': 16}
# 无责增加,有责修改;可以是多个键值对
# dic.update(sex='male', hight='180')
# dic.update({'sex': 'male', 'hight': 180})
# 原字典存在你想增加的键值对,它会修改
# dic.update(sex='male', name='太白')
dic.update({'sex': 'male', 'name': '太白'})
print(dic)
dic = {'name':'小杨','age': 16}
# 无责增加,有责修改;可以是多个键值对
# dic.update(sex='male', hight='180')
# dic.update({'sex': 'male', 'hight': 180})
# 原字典存在你想增加的键值对,它会修改
# dic.update(sex='male', name='太白')
dic.update({'sex': 'male', 'name': '太白'})
print(dic)
③ setdefault 方式三
# 方法三 : setdefault
dic = {'name':'小杨','age': 16}
# 无责增加,有责不变; 只能是一个键值对
# dic.setdefault('sex', 'male')
# dic.setdefault('name', '太白')
print(dic)
dic = {'name':'小杨','age': 16}
# 无责增加,有责不变; 只能是一个键值对
# dic.setdefault('sex', 'male')
# dic.setdefault('name', '太白')
print(dic)
删
①pop 方式一
# 方法一 pop 按照键删除 有返回值
注意:pop只能删除一个键
dic = {'name':'小杨','age': 16}
# # ret = dic.pop('name')
# ret = dic.pop('name1', None)
# # print(ret) # None 可以作为判断条件
# #print(dic)
# if ret:
# print('已经删除了此键值对')
# else:
# print('没有删除')
注意:pop只能删除一个键
dic = {'name':'小杨','age': 16}
# # ret = dic.pop('name')
# ret = dic.pop('name1', None)
# # print(ret) # None 可以作为判断条件
# #print(dic)
# if ret:
# print('已经删除了此键值对')
# else:
# print('没有删除')
②del 方式二
# 方法二 del 删除键值对,删除字典
dic = {'name':'小杨','age': 16}
# 注意:这里和list;不一样不能全部删除;只能删除一个
# del dic['name']
# del dic['name1'] # 没有此键,使用 del 删除报错
# del dic
# print(dic)
dic = {'name':'小杨','age': 16}
# 注意:这里和list;不一样不能全部删除;只能删除一个
# del dic['name']
# del dic['name1'] # 没有此键,使用 del 删除报错
# del dic
# print(dic)
改
①直接增加 方式一
# 方法一 直接增加
dic = {'name':'小杨','age': 16}
# 无责增加,有责修改
# dic['sex'] = 'male'
# dic['age'] = 25
# print(dic)
dic = {'name':'小杨','age': 16}
# 无责增加,有责修改
# dic['sex'] = 'male'
# dic['age'] = 25
# print(dic)
②update 方式二
# 方法二 update 用法很多 与方法一类似
dic = {'name':'小杨','age': 16}
# 无责增加,有责修改
# dic.update(sex='male', hight='180')
# dic.update({'sex': 'male', 'hight': 180})
# 原字典存在你想增加的键值对,它会修改
# dic.update(sex='male', name='太白')
dic.update({'sex': 'male', 'name': '太白'})
print(dic)
dic = {'name':'小杨','age': 16}
# 无责增加,有责修改
# dic.update(sex='male', hight='180')
# dic.update({'sex': 'male', 'hight': 180})
# 原字典存在你想增加的键值对,它会修改
# dic.update(sex='male', name='太白')
dic.update({'sex': 'male', 'name': '太白'})
print(dic)
dic = {'name':'太白','age': 19}
dic.update(sex='男',height= 175)
print(dic)# {'name':'太白','age':'18','sex':'男','height':175}
dic.update(sex='男',height= 175)
print(dic)# {'name':'太白','age':'18','sex':'男','height':175}
dic = {'name':'太白','age': 19}
dic.update([(1,'a'),(2,'b'),(3'c'),(4,'d')])
print(dic)# {'name':'太白','age':'18',1:'a',2:'b',3:'c',4:'d'}
dic.update([(1,'a'),(2,'b'),(3'c'),(4,'d')])
print(dic)# {'name':'太白','age':'18',1:'a',2:'b',3:'c',4:'d'}
dic1.update(dic2)
print(dic1) # {'name': 'alex', 'age': 18, 'sex': 'male', 'weight': 75}
print(dic2) # {'name': 'alex', 'weight': 75}
print(dic1) # {'name': 'alex', 'age': 18, 'sex': 'male', 'weight': 75}
print(dic2) # {'name': 'alex', 'weight': 75}
查
① 按照键去查 方式一
# 按照键去查询
dic = {'name':'小杨','age': 16}
# ret = dic['name']
# ret = dic['name1'] # 无此键则报错
# print(ret)
dic = {'name':'小杨','age': 16}
# ret = dic['name']
# ret = dic['name1'] # 无此键则报错
# print(ret)
② get 方式二
# 通过get方法按照键查询;如果没此键返回None
dic = {'name':'小杨','age': 16}
# ret = dic.get('name')
# ret = dic.get('name1')
# ret = dic.get('name1', '没有此键')
# print(ret)
dic = {'name':'小杨','age': 16}
# ret = dic.get('name')
# ret = dic.get('name1')
# ret = dic.get('name1', '没有此键')
# print(ret)
③ for循坏 方式三
# for循环可遍历的对象:str list dict set。
dic = {'name':'小杨','age': 16}
# for i in dic:
# print(i)
dic = {'name':'小杨','age': 16}
# for i in dic:
# print(i)
④key 方式四
获取所有的键
获取所有的键
dic = {'name':'小杨','age': 16}
# keys = dic.keys()
"""
获取字典中所有的键,放置在一个类似于列表的容器中。
一般我们将它转化成列表。
"""
# l1 = list(keys)
# print(l1)
# for key in dic.keys():
# print(key)
# keys = dic.keys()
"""
获取字典中所有的键,放置在一个类似于列表的容器中。
一般我们将它转化成列表。
"""
# l1 = list(keys)
# print(l1)
# for key in dic.keys():
# print(key)
⑤values 方式五
获取所有的值
获取所有的值
dic = {'name':'小杨','age': 16}
# val = dic.values()
# # 获取字典中所有的值,放置在一个类似于列表的容器中。
# # print(val)
# l1 = list(val)
# print(l1)
for v in dic.values():
print(v)
# val = dic.values()
# # 获取字典中所有的值,放置在一个类似于列表的容器中。
# # print(val)
# l1 = list(val)
# print(l1)
for v in dic.values():
print(v)
⑥方式六 itmes
获取所有的键值对
获取所有的键值对
dic = {'name':'小杨','age': 16}
d1 = dic.items()
print(d1)
l1 = list(d1)
print(l1)
d1 = dic.items()
print(d1)
l1 = list(d1)
print(l1)
常用操作方法
fromkeys
dic = dic_formkeys('abcd', '太白')
print(dic)# {'a',:'太白',b:'太白', 'd':'太白'}
dic = dic.fromkeys[1,2,,3],''太白]
print(dic) # {1: '太白',2:'太白',3:'太白'}
print(dic)# {'a',:'太白',b:'太白', 'd':'太白'}
dic = dic.fromkeys[1,2,,3],''太白]
print(dic) # {1: '太白',2:'太白',3:'太白'}
copy
浅copy
where
当你的程序需要设置大量的关系数据,并且要求查询速度时,你需要考虑字典
int 整形
why
主要时用于数字的运算,计算。
what
就是咱们认识的数字1.2.3.4.5.6.7 -1 -234 -345......
how
+ 1 * / % // .......
where
需要用到计算,计数时。
bool
why
程序中有时需要判断等式或者不等式的对错,作为if 或者 while 等判断条件真假。
what
bool值:True False
how
1 > 2 and 3 < 4等逻辑判断,或者一些空数据(转化成 bool 值为 False)等。
where
一般会用于一些语句的条件判断。
str 字符串
why
程序一般都是和数据打交道,大量的数据存储在数据库,缓存,文件等,但是程序需要将这些数据提取出来,处理,加工,这些提取出来的数据,
在程序中往往是以字符串的形式存在,字符串一般存储一些相对少量的数据。
在程序中往往是以字符串的形式存在,字符串一般存储一些相对少量的数据。
what
这些就是咱们的str:name = 'alex' 或者“alex”
how
对字符串进行操作会形成一个新的字符串,不改变源字符串❗❗❗
① 可以用于索引,切片
② 字符串的操作方法(带着颜色的表为重要方法)
title
创建一个新字符串:字符串非字母元素隔开的每个单词的首字母大写
s = 'alex wusir8taibai*ritian'
s4 = s.title()
print(s4) # Alex Wusir9Taibai*Ritian
s4 = s.title()
print(s4) # Alex Wusir9Taibai*Ritian
② casefold
format_map
格式化输出,可以通过字典的形式
s = '我的名字:{name}, 年龄:{age}'
ret = s.format_map({'name':'太白','age': 18})
ret = s.format_map({'name':'太白','age': 18})
expandatabs
将字符串的制表符:\t默认转化成8个空格
s = 'ta\ti'
rpint(a.expandtabs) # ta i
rpint(a.expandtabs) # ta i
② isdecimal
② isnumeric
② isidentifier
② islower
② isprintable
③ partition
② isspace
② istitle
① istitle
② ljust
① isupper
① rjust
② maketrans
② translate
① rpartition
② zfill
② capitalize
② swapcase
② center
② startswith
② endswith
② isapha
② isalnum
② isdigit
② upper
② lower
② find
② rfind
② index
① count
计算某个元素出现的次数。
s = 'taibai'
print(s.count('t')) #1
print(s.count('t')) #1
strip
创建一个新的字符串:默认去除元字符串前后两端的换行符,制表符,空格
username = input('请输入姓名:').strip()
if username == 'taibai':
print('登录成功')
if username == 'taibai':
print('登录成功')
① lstrip
① rstrip
③ splist
rsplist
从右往左分割
② splitlines
join
list-----> str(这个方法非常好,不只是将 list转化成str这一个功能)
返回一个字符串:对iterable进行遍历,通过你设置的连接符
s = 'alex'
s1 = '*'.join(s)
print(s1) # 'a*l*e*x'
l1 = ['alex', 'wusir', '太白']
s12 = '_'.join(l1)
print(s12) # 'alex_wusir_太白'
s1 = '*'.join(s)
print(s1) # 'a*l*e*x'
l1 = ['alex', 'wusir', '太白']
s12 = '_'.join(l1)
print(s12) # 'alex_wusir_太白'
replace
创建一个新的字符串,将原字符串中耨内容替换成新的内容,默认全部替换。
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))
print(name.replace('alex','SB',1))
② format
① encode
① where
我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。Python中常用的数据类型有多种,int bool str list tuple dict set 等
收藏
收藏
0 条评论
下一页