码迷,mamicode.com
首页 > 其他好文 > 详细

06 列表、字典、集合、元祖的内置方法

时间:2019-07-04 17:22:33      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:反转   循环   iterable   width   本质   自动   成员   col   item   

1.列表内置方法
l=[1,2,3,4,5,6,7] res = l.clear() print(res)#None 因此.clear方法没有返回值 print(l)#[] 现在列表为空了
将列表反转reserse()
l = [1,2,1,3,4,5,6,7]
l.reverse()
print(l)#[7, 6, 5, 4, 3, 1, 2, 1]
sort()排序
l1 = [43,6,1,7,99] l1.sort(reverse=False) # 可以通过指定参数来修改默认的拍讯规则(降序) print(l1)

总结:列表类型:能存多个值;有序的;可变类型

队列:先进先出

l=[]
l.append(1)
l.append(2)
l.append(3)
print(l)
#[‘1‘, ‘2‘, ‘3‘]
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))
#1,2,3

堆栈:先进后出

l.append(1)
l.append(2)
l.append(3)
print(l)
#[‘1‘, ‘2‘, ‘3‘]
print(l.pop())
print(l.pop())
print(l.pop())
#3,2,1

 2.元祖

2.1作用:存储多个值,元素与元素之间逗号隔开,元素可以是任意类型,元祖不能被修改

2.2定义:与列表类型比,只不过将【】换成了()

age = (1,3,4,5,6,67)本质上age = tuple((1,3,4,5,6,67))

元祖内必须传容器类型

a=(1,32,32,‘sdf‘,‘fsd‘,[1,2,3])#tuple((1,32,32,‘sdf‘,‘fsd‘,[1,2,3]))
print(type(a))
#<class ‘tuple‘>
tuple(1)
print(tuple(1))
#TypeError: ‘int‘ object is not iterable.
            #元祖内必须传容器类型

 在定义容器类型的时候,哪怕只有一个元素,也必须加上逗号。否则识别为字符串。(***)

n=(a)
print(n,type(n))
#a <class ‘str‘>
n=(a,)
print(n,type(n))
#(‘a‘,) <class ‘tuple‘>

2.3优先掌握的操作:

#优先掌握的操作:
#1、按索引取值(正向取+反向取):只能取
#2、切片(顾头不顾尾,步长)
#3、长度
#4、成员运算in和not in

#5、循环

1.按索引取值(正向取+反向取):只能取

a=(1,32,23,4,sd,fsd,[1,32,43])
print(a[0])

a[-1]=aaaaaaaa
#ypeError: ‘tuple‘ object does not support item assignment
a[-1][0]=改了元祖内列表中的值
print(a)
#(1, 32, 23, 4, ‘sd‘, ‘fsd‘, [‘改了元祖内列表中的值‘, 32, 43])

技术图片

元祖内的值,不能修改

del a[0]
print(a)
#TypeError: ‘tuple‘ object doesn‘t support item deletion

 

 

2.切片(还是顾头不顾尾)

连续两个::,代表从开始取到最后一个值

a=(1,32,23,4,sd,fsd,[1,32,43])
print(a[::2])
#(1, 23, ‘sd‘, [1, 32, 43])

3.长度len

a=(1,32,23,4,sd,fsd,[1,32,43])
print(len(a))
# 7

4.成员运算 in 和 not in

a=(1,32,23,4,sd,fsd,[1,32,43])
print(d in a)
#False

5.循环for

a=(1,32,23,4,sd,fsd,[1,32,43])
for i in a:
    print(i,end= )
# 1 32 23 4 sd fsd [1, 32, 43] 

总结:

能存多个值

有序

不可变

1.能存多个值。由于元祖是不可变类型。不能修改值,但是如果元祖里面有列表,可以先取出列表,再给修改。

比如在元祖内的列表中增加值.append

a=(1,32,23,4,sd,fsd,[1,32,43])
print(id(a))
#6029824 a[
-1].append(666) print(a,id(a))
#(1, 32, 23, 4, ‘sd‘, ‘fsd‘, [1, 32, 43, 666])
#6029824

3.字典及其内置方法

3.1作用:字典能存储多组(key:value)键值对。由于key是不可变类型,而value是任意类型

3.2定义;

c = {name:zdq,pwd:123,(1,3):可不可行}
print(c[name])
print(type(c))
print(c[(1,3)])
# zdq
# <class ‘dict‘>
# 可不可行

3.3注意字典的Key是不能重复的。若重复,则存储最后一组键值对

f={name:wuxi,name:zdq,name:abd}
print(f[name])
#abd

存储最后一组键值对

f={name:wuxi,name:zdq,name:abd}
print(len(f))
print(f)
#1
#{‘name‘: ‘abd‘}

 优先掌握的操作:

1.key存取值:可存可取

b={name:123,age:18}
print(id(b))
print(b[age])
b[name]=wuxi
b[name]=456
b[name]=789
b[name]=abc
print(b,id(b))
# 34615232
# 18
# {‘name‘: ‘abc‘, ‘age‘: 18} 34615232

当要赋值的key在字典中不存在时,会自动新增一个键值对(*****)

b=b={‘name‘:123,‘age‘:18}
b[‘weight‘]=‘150‘
print(b[‘weight‘])
{‘name‘: ‘abc‘, ‘age‘: 18, ‘weight‘: ‘150‘} 5517248

  

 

06 列表、字典、集合、元祖的内置方法

标签:反转   循环   iterable   width   本质   自动   成员   col   item   

原文地址:https://www.cnblogs.com/ZDQ1/p/11132632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!