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