(4)元组tuple
公共功能
1.长度 len()
2.索引
3.for循环
4.可以嵌套(儿子不能修改,孙子可修改,如下面的嵌套的列表元素)
v=(11,22,['蒋毅','yier'],33,(9,1,2,"alex"),444)
(5)字典dict(无序)
v={"k1":'v1', #键值对
"k2":'v2',
}
1.根据key获取对应的值,key不存在默认取None
val=v.get('k1')
print(val)
>>>v1
2.#和for循环一起使用
val1=v.keys()
val2=v.values()
val3=v.items()
print(val1,val2,val3)
>>>dict_keys(['k1', 'k2']) dict_values(['v1', 'v2']) dict_items([('k1', 'v1'), ('k2', 'v2')])
公共功能
1.获取字典长度 val=len()
2.索引
v['k1']=666 #key存在则更新值,不存在则创建键值对
del v['k1'] #删除键值对
3.for循环
for i in v:
print(i)
>>>k1
k2
for i in v.keys(): ###
print(i)
>>>k1
k2
for i in v.values(): ###
print(i)
>>>v1
v2
for i in v.keys():
print(i,v[i])
>>>k1 v1
k2 v2
for k in v.items():
print(k)
>>>('k1', 'v1')
('k2', 'v2')
for k,v in v.items(): ###
print(k,v)
>>>k1 v1
k2 v2
4.字典嵌套
v={
'k1':123,
'k2':"asdf",
'k3':True,
'k4':[11,22,333],
'k5':(1,2,3),
'k6':{
'kk1':'vv1',
'kk2':'vv2'
}
'k7':[1,2,(3,7,5),{"k111":"vvv1"},5]
}
del v['k6']['kk2']
v['k7'][2]=666
v['k7'][3]['k222']='vvv2' #不存在则创建键值对
>>>{'k1': 123, 'k2': 'asdf', 'k3': True, 'k4': [11, 22, 333], 'k5': (1, 2, 3), 'k6': {'kk1': 'vv1'}, 'k7': [1, 2, 666, {'k111': 'vvv1', 'k222': 'vvv2'}, 5]}
示例:
user_list=[
{'name':'A','age':15},
{'name':'B','agae':18},
{'name':'c','age':20}
]
n=input("请输入姓名:")
a=input("请输入年龄:")
temp={'name':n,'age':int(a)}
user_list.append(temp)
for item in user_list:
print(item['name'],item['age'])
>>>请输入姓名:e
请输入年龄:8
A 15
B 18
c 20
e 8
例题:购物车
v=[
{"name":"电脑","price":"3999"},
{"name":"鼠标","price":"99"},
{"name":"键盘","price":"199"},
{"name":"音响","price":"499"},
]
#1.让用户输入自己的余额
while True:
money=input("请输入余额:")
money=money.strip()
if money.isdecimal():
money=int(money)
break
else:
print("请输入正确的数字")
print(money,type(money))
#2.显示商品列表
num=1
for item in v:
print(num,item["name"],item["price"])
num+=1
#3.让用户购买商品
cost=0
while True:
index=input("请输入您想要购买的商品序号(q/Q结算):")
if index.lower().strip()=='q':
break
#判断空格,是否数字,范围
index=index.strip()
if index.isdecimal():
index=int(index)
index=index-1
if index>=0 and index<len(v):
if index==0:
a+=1
elif index==1:
b+=1
elif index==2:
c+=1
elif index==3:
d+=1
temp="您购买的商品%s,价格:%s" %(v[index]['name'],v[index]['price'])
print(temp)
cost+=int(v[index]['price'])
else:
print("输入序号不合法")
else:
print("请输入数字")
#4.结算
if money>=cost:
print('购买成功' )
print("总共支付",cost,"元")
else:
print('余额不足,请充值再购买')