序列学习笔记

#!/usr/bin/python3

# 列表和元组:列表可变,元组不可变

#分片
tuple_a=('test1','test2','test3','test4','test5','test6','test7','test8')
tuple_b=('a','b','c','d','e')
print(tuple_a[0:2])
print(tuple_a[0:7:2]) # 间隔截取
print(tuple_a+tuple_b) # 元组相加;只能列表+列表,元组+元组

print(tuple_b*3) #乘法

print('test1' in tuple_a)

# 序列封包:将元素封包成元组
vals = 10,20,30,'demo1','demo2'
print(vals)
print(type(vals))

# 序列解包:将元组各元素依次赋值给变量
a,b,c,d,e = vals
print(a,b,c,d,e)

# 多个值赋给多个变量就用到了封包解包机制
a,s,d=10,20,30 # 实际上是先右边封包,再依次解包给左边变量
z,x,*c=range(10) # *c,代表c是一个列表
print(z,x,c)
print(type(c))

# 列表
range1 = range(1,6) # range函数创建区间range对象
list_a = list(range1) # list函数将区间对象转换为列表
print(list_a)
tuple_a = tuple(list_a) # tuple函数转换元组
print(tuple_a)

del list_a[0] # del函数删除列表元素
print(list_a)
name='test1'
print(name)
del name # del删除变量
# print(name)

print(dir(list)) # list包含的所有方法
list_b=[1,2,3,4,5,6]
print(list_b.count(2)) # count计算元素个数
print(list_b.index(1)) # index获取元素位置,如果元素不存在,会返回valueerror

a=list_b.pop() #pop()出栈操作,将最后一个元素移除栈;append()可以作为入栈方法
print(a,list_b)

# print(list_b.clear()) # clear()清空列表
# print(list_b)

list_b.reverse() # reverse()反转列表
print(list_b)

list_b.sort()
print(list_b)

lsit_c = ['123','2','asdf','zxcvb','']
# list_c.sort(key=len,reverse=True)
lsit_c.sort(key=len,reverse=True) # sort()根据len长度反转排序
print(lsit_c)

# dict1={list_b:'123'} # 字典的key必须是不可变类型,可以是int、char、字符串,元组
dict1={tuple_a:'123'}
print(dict1)
dict2={1:'123'}
print(dict2)
dict3=dict()

# 字典基础操作
listdict=[['a',0],['b',1],['c',2]]
print(listdict)
dictdemo=dict(listdict)
print(dictdemo['a']) #通过key访问value
dictdemo['d']='4'#通过key值增加key-value,若key不存在,则会报错
del dictdemo['d'] # del通过key值删除key-value
dictdemo['a']='tmp1' # 通过key赋值改变value
print(dictdemo['a'])
print('a' in dictdemo) # 通过in和not in判断key是否存在
print('d' not in dictdemo)

# 字典常用方法
dictdemo.clear() #清空词典
print(dictdemo.get('a')) #方框获取key对应value,若不存在,不会报错而是返回None
dictdemo.update({'a':'qaz',2:123}) # 更新键值对,key不存在会增加
print(list(dictdemo.items())) #items()返返回dict_items对象:包含所有键值对,最好转为列表,转换后为包含元组的列表,每个元组有两个数据,分别是key和value
print(list(dictdemo.keys())) # keys()返回dict_keys对象:包含所有Key
print(list(dictdemo.values())) # values()返回dict_values对象:包含所有value
print(dictdemo.pop('a')) # 按key出栈操作
print(dictdemo.popitem()) # 随机出栈(字典是无序的,所以给人随机的感觉;实际上是出的是计算机存储中最后一个键值对)
print(dictdemo.setdefault('c',123)) # 获取key对应的value,若不存在,会新增并设置默认值
print(dictdemo)
dictdemo2=dict.fromkeys(['a',2],"demo") # fromkeys()方法一般dict类用,用来通过key创建词典设置默认值
print(dictdemo2)

# 字典格式化范例
temp='型号是%(model)s,品牌是%(brand)s,价格是%(price)d' # 通过'%(key)'%key 格式化输出字符串
p40={'model':'p40','brand':'huawei','price':4199}
print(temp % p40)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值