基本数据类型

Posted ljinw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本数据类型相关的知识,希望对你有一定的参考价值。

一.列表:(list)
1.定义:能装对象的对象.
2.用["",""]来表示列表;
3.索引:一排数字,反应第某个位置的字符 索引的下标从0开始
使用[] 来获取数据, 正向从0开始,反向从-1开始
4.索引的运算:
1.+ 组合 2.* 重复 3.
5.删除与更新列表
list.append() 更新列表 为列表添加新元素
del(list)[] 删除列表中的第[]个元素 内置函数
6.使用嵌套元素列表,即在列表中创建其他列表
eg: lst1= ["Google 谷歌","IE 微软","Firefox 火狐","Safari 苹果","Opera 欧朋 "]
lst2 = ["Trident ","Webkit ","Gecko","Presto"]
lst3 = [lst1,lst2]
print(lst3)
7.切片[sta:end] 默认的方向是从左往右切
[str:end:step] #str:起始 end: 结束 step: 步长 默认是 1 ,从右往左取,-1从右往左取
8. 复制:(abc地址没有改变,只有d变了,想要复制而不影响原列表,只有采取d方法)
a = [1, 2, 3]
b = a
c = []
c = a
d = a[:]
b[0]=‘b‘
print (a,b,c,d)
print (id(a),id(b),id(c),id(d))
结果:
[‘b‘, 2, 3] [‘b‘, 2, 3] [‘b‘, 2, 3] [1, 2, 3]
2030982357640 2030982357640 2030982357640 2030982357704
8.列表的增删改查:
(1).列表的增:
.append() 追加,在最后添加,效率比较高
.insert() 插入,需要有插入的位置与插入内容,会导致元素移动
.extend() 迭代添加,会把元素拆开,迭代列表,把元素放在列表,加双引号和逗号分开
(2).列表的删:
.pop() 默认弹出最后一个,可以指定删除(索引)
.remove() 想删除那个元素就删除那个元素
.clear() 清空
del lst[2] 关键字,删除列表元素(索引),也可以切片删除
(3).列表的改:
lst = []
lst[1] = 索引修改
lst[1:3] = [""] 会产生迭代
lst[1:3] 切片修改
lst[1:5:2] = ["",""] 如果步长是1,那么元素的个数要匹配
(4).列表的查:
列表是一个可迭代对象,可以使用for循环:
for i in lst:
print(i)
列表的其他操作:
.count() 计数,元素出现的次数
.sort() 排序,默认升序; sort(reverse = True) 倒叙
.reverse() 翻转
len(lst()) 获取列表的长度

二.元组(tuple)
定义:元组就是不可变的列表,使用()表示,元素与元素之间用,隔开
#小括号在计算机里还表示算法优先级(不可变,只能读,小括号)
tu=(1,) #加了逗号,就是元组了.
tu=tu() 空元组
元组也有索引和切片,与列表、字符串一样
不可变指的是第一层元素不可变,第二层元素取决于你的数据类型
range(边界) #0到边界
#列表的补充
for el in lst:
print(el)
#只能拿到元素
for i in range(len(lst)):
print(lst[i])/print([i])
#既能拿到元素,也能拿到索引
不可变的数据类型:
int,str,bool,元组
解构,直接把元组或者列表中的数据拿出来:
a,b,c = (a1,b1,c1) 必须一一对应

三.字典(dict)
1.字典的定义:
字典以{}表示,每一项用逗号隔开,内部元素用key:value的形式来保存数据
查询的的效率非常高,通过key来查找元素,内部使用key来计算,一个内存地址(暂时),key必须是不可变得数据类型(),必须是可hash的
hash算法, 可哈希就是不可变.
unhashable type:‘list‘ 说明key有问题,不可哈希
2.字典的增删改查
(1)字典的新增
第一种修改方法:
dic = {}
dic["徐峥"] ="人在囧途"
dic["李宇春"] = "蜀绣"
dic["张杰"] = "天下"
dic["张杰"] = "逆战" #如果可以已经存在,那么会替换原来的value(修改)
print(dic)
第二种增加方法:dic.setdefault(key,value)
dic = {}
dic.setdefault("徐峥","人在囧途")
dic.setdefault("徐峥","我不是药神") #如果key已存在,不会执行新增
print(dic)
(2)删除:
dic = {"jj":"林俊杰", "zjl":"周杰伦", "tz":"陶喆", "zj":"张杰", "xz":"徐峥"}
dic.pop("jj") #通过dic.pop来删除,指定key值来删除
dic.popitem() #通过dic.popitem 来随机删除
del dic["jj"] #通过del来删除指定key
dic.clear() #清空字典
(3)字典的修改:
dic = {"jj":"林俊杰", "zjl":"周杰伦", "tz":"陶喆", "zj":"张杰", "xz":"徐峥"}
dict = {"林俊杰":"江南", "周杰伦":"稻香", "张杰":"天下"}
1. dic["jj"]="君军" #用key直接去去改
2.dic.update(dict #新字典) # 如果key相同,即修改Value值;如果没有key值,则新增.

(4)字典的查询:
dic = {"jj":"林俊杰", "zjl":"周杰伦", "tz":"陶喆", "zj":"张杰", "xz":"徐峥"}
1. print(dic["xz"]) #直接用key去查询,没有key或者key错误就会报错
2. print(dic.get("xz")) #直接用key去查询,没有key会返回None
print(dic.get("xn","谢娜")) #print(dic.get("原字典中没有的key","想要返回的内容"))
3.dic.setdefault()
#(1).新增(先看有没有key值,如果就跳过;如果没有,就执行新增)
#(2).根据key把值返回
字典的相关操作:
(1) dic.items() #拿到的是键值对(key:value)
for item in items():
print(item) #输出元组
print(item[0]) #拿到key值
(2) for k,v in dic items():
print(k)
print(v)
#当需要遍历字典,在操作中涉及到key和value
字典本身是一个可迭代对象,可以直接进行for循环:
for el in dic: 直接拿到key
print(el)
print(dic[el])
字典的嵌套:字典的嵌套,操作通过key值

以上是关于基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Java基本数据类型转换

Java基本数据类型转换

JavaScript中基本数据类型和引用数据类型的区别

js中基本数据类型和引用数据类型的区别

JS开发中基本数据类型都有哪些

JAVA的基本数据类型和引用数据类型的区别