Python-基本数据类型-列表、元组、字典

三、列表
li = [1,2,3,“age”,[11,“name”,“ss”],“alex”,True]
列表就是用中括号括起来,用“ ,”分割每个元素并且列表中的元素可以是数字,字符,列表,布尔值等(所有都可以放进去)
1、通过索引取值

print(li[1])  #2

2、通过给定范围取值(切片),结果也是列表

print(li[1:3])  #[2,3]

3、利用for、while循环,同样可以有continue,break

for item in li
	print(item)  #每个元素索取一遍

4、列表元素可以被修改

li[1] = 22  #也可以替换成字符串、列表、其他
print(li)  #[1,22,3,"age",[11,"name","ss"],"alex",True]
li[2:4] = [19,'sss']
print(li)  #[1,2,19,"sss",[11,"name","ss"],"alex",True]

5、删除列表元素

#通过索引删除
del li[2]
print(li)  # [1,2,"age",[11,"name","ss"],"alex",True]
del li[2:5]
print(li)  # [1,2,"alex",True]

6、判断元素是否在列表中用in操作

v = 3 in li
print(v)  #True
#列表中的列表中的元素不在此列表中
v1 = 11 in li
print(v1)  #False

7、去列表中列表元素,还通过索引取值

v2 = li[4][1]
print(v2)  #name
v3 = li[4][1][2]
print(v3)  #m

8、字符串可以转化成为列表反之也可以,但是数字不能转化成列表(内部是for循环(迭代),数字不可以迭代)

#字符串转化成列表
s = "shcj"
v = list(s)
print(v)  #['s','h','c','j']
#列表转化为字符串(数字和字符串都包含)
s1 = [11,22,"age","name"]
r = str(s1)
print(r)  #[11,22,"age","name"](整体就是一个字符)
s3 = ""
for i in s1
	s3 += str(i)
print(s3)  #1122agename
#只包含字符串时直接用字符串中的join方法
lis = ["age","name","sss"]
v = ''.join(lis)
print(v)  #agenamesss

基本方法(类中提供的方法)
9、传参数在原值追加(不需要重新赋值):append(self,p_object)

li = [1,2,3,"age",[11,"name","ss"],"alex",True]
li.append(11)
li.append("open")
print(li)   #[1,2,3,"age",[11,"name","ss"],"alex",True,11,"open"]
v = li.append(4)
print(v)   #无任何值
li.append([123,"pp"])
print(li)  #[1,2,3,"age",[11,"name","ss"],"alex",True,[123,"pp"]]

10、清空列表:clear(self)

li.clear()
print(li)  #[]

11、拷贝(浅拷贝,后面还会出现深拷贝、复制等):copy(self)

v = li.copy()
print(v)  #[1,2,3,"age",[11,"name","ss"],"alex",True]

12、计算列表中元素出现的次数:count(self,value)

li = [11,22,33,11,33,11]
v = li.count(11)
print(v)  #3

13、扩展列表:extend(self,iterable),参数是可迭代对象
补:iterable可迭代对象,即可以用for循环

li = [11,11,33]
li.extend(["可乐",19])
print(li)  #[11,11,33,"可乐",19]
li.extend("可乐")
print(li)  #[11,11,33,'可','乐']

14、指定元素在列表中的索引:index(self,value,start=None,end=None),无指定范围左边优先,获取到的索引是第一个找到元素位置

li = [11,22,33,"name"]
v = li.index(33,1,3)
print(v)  #2

15、在列表中指定索引位置插入元素:insert(self,value,p_object)

li = [11,22,33,"name"]
li.insert(1,19)
print(li)  #li = [11,19,22,33,"name"]

16、删除元素

#删除某个值并获取删除值,不加参数默认删除最后一个:pop(self)索引
lis = [11,22,33,"name"11]
v = lis.pop(1)
print(li)  #[11,33,"name"]
print(v)  #22
#删除列表中指定值,左边优先:remove(self)值
li.remove(11)
print(li)  #[22,33,"name",11]

17、将当前列表进行反转:reverse(self)

li = [11,22,33,"name"]
li.reverse()
print(li)  #["name",33,22,11]

18、对列表元素进行排序:sort(self,key=None,reverse=False)

#从小到大
li = [11,44,22,33]
li.sort()
print(li)  #[11,22,33,44]
#从大到小
li.sort(severse=True)
print(li)   #[44,33,22,11]

四、元组tuple:元素不可被修改,不能被增加或者删除,并且是有序的,一般在写元组的时候建议在最后面加入“,”为了与方法区分
tu = (11,19,“alex”,(“age”,22),[(“name”,14)],True,33)
1、通过索引获取元素

v = tu[1]
print(v)  #19

2、切片

v1 = tu[1:3]
print(v1)  #(19,"alex")

3、可被for循环,可迭代对象

for item in tu
	print(item)  #元组中各元素

4、字符串、列表、元组之间转换
1)字符串—>元组与字符串—>列表方法一样
2)列表—>元组,元组—>列表方法相同

v = list(tu)
print(v)  #[11,19,"alex",("age",22),[("name",14)],True,33]

5、元组内元素不可修改,但是元素中的元素可以修改(一级元素可以修改)

tu[4][1] = 123
print(tu)  #[11,19,"alex",("age",123),[("name",14)],True,33]

6、类中的方法:count(self,value)获取指定元素在元组中出现的次数
index(self,value,start=None,stop= None)
与列表中的功能相同
五、字典:dict类,无序
info = {“k1”:“v1”,“k2”:“v2”}:“k1”:“v1”是一个元素,键值对;v1 是value可以是任意值;k1是key不能是列表、字典
info1 = {“k1”:11,“k2”:[22,33,{“k11”:“v11”,“k22”:(44,55)}],“k3”:(12,13,14)}
1、通过索引进行查找

v = info1["k2"][2]["k22"][0]
print(v)  #44

2、字典支持del删除

del info1["k2"]
print(info1)  # {"k1":11,"k3":(12,13,14)}

3、对字典进行for循环,默认输出key
1)获取key

for item in info1:
	print(item)  #k1
				 #k2
				 #k3
for item in info1.keys():
	print(item)  #与上一个结果相同

2)获取value

for item in info1.values():
	print(item)

3)获取键值对

for k,v in info1.items:
	print(k,v)  #没对键值对

补:True 1 False 0 与key中的0、1重复只显示一个;在字典key中重复只显示任意一个
字典类中的基本方法
4、静态方法,根据序列创建字典,并指定统一的值value:formkeys(*args,kwargs)

v = dict.formkeys(["k1":123,"222"],192)
print(v)  #{"k1":192,123:192,"222":192}

5、根据key获取值,key不存在时可以指定默认值(系统默认None):get(self,k,d=None)

dic = {"k1":"v1","k2":"v2",}
v= dic.get("k2")
print(v)  #v2

6、删除元组中的值
1)指定某一个key删除并获取删除值:pop(self,k,d=None)

v = dic.pop("k1")
print(dic,v)  #{"k2":"v2"} v1
v1 = dic.pop("kk1",90)
print(dic,v1)  #{"k1":"v1","k2":"v2"}

2)随机删除:popitem(self)

k,v = dic.popitem()
print(dic,k,v)  #{"k1":"v1"}  k2 v2

7、设置值,若存在则获取当前值key对应的值;若不存在设置获取当前值key对应的值

v = dic.setdefault("k2","123")
print(dic,v)  #{"k1":"v1","k2":"v2",} v2
v1 = dic.setdefault("kk1","123")
print(v1)  #{"k1":"v1","k2":"v2",} "123"

8、更新元组元素

dic.updata("k1":"111","k3":123)
print(dic)  #{"k1":"111","k2":"v2","k3":123}
dic.updata(k1=123,k2=456,k3=678)  #系统内部自动转换为元组
print(dic)  #{"k1":"123","k2":"456","k3":678}

六、布尔值
为False的:None、""、[]、()、{}、0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值