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

05 元组列表字典相关

时间:2018-06-06 00:57:23      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:not   xxx   反向   lenovo   内存地址   字典   数据类型   mac   组合   

-----------------------------------01 元组类型.py-----------------------------------
#一:基本使用
# 1 用途:元组是不可变的列表,能存多个值,但多个值只有取的需求,而没有改的需求,那么用元组合最合理
#
# 2 定义方式:在()内用逗号分割开,可以存放任意类型的值
names=(‘alex‘,‘egon‘,‘wxx‘) #names=tuple((‘alex‘,‘egon‘,‘wxx‘))
print(type(names))
强调: 当元组内只有一个元素时,务必记住加一个逗号
x=(‘egon‘,)
print(type(x))

# 3 常用操作+内置的方法
#1、按索引取值(正向取+反向取):只能取
names=(‘alex‘,‘egon‘,‘wxx‘)
names[0]=‘sb‘


#2、切片(顾头不顾尾,步长)
names=(‘alex‘,‘egon‘,‘wxx‘,‘lxx‘,‘cxxx‘)
print(names[1:3]
# )

#3、长度
names=(‘alex‘,‘egon‘,‘wxx‘,‘lxx‘,‘cxxx‘)
print(len(names))
#4、成员运算in和not in
names=(‘alex‘,‘egon‘,‘wxx‘,‘lxx‘,‘cxxx‘)
print(‘alex‘ in names)

#5、循环
names=(‘alex‘,‘egon‘,‘wxx‘,‘lxx‘,‘cxxx‘)
for item in names:
# print(item)


# #二:该类型总结
# 1 存一个值or存多个值
# 可以存多个值,值都可以是任意数据类型
#
# 2 有序or无序
#有序
# 3 可变or不可变
#不可变

names=(‘alex‘,‘egon‘,‘wxx‘,‘lxx‘,‘cxxx‘,‘lxx‘)
del names[0]
names[0]=‘sb‘
print(names.count(‘lxx‘))
print(names.index(‘wxx‘,0,3))

names=(‘alex‘,‘egon‘,‘wxx‘,‘lxx‘,‘cxxx‘,‘lxx‘)
names=1

l=[1,243,3]
l=3333
l=[‘a‘,‘b‘,‘c‘]
print(id(l[0]))
l[0]=‘A‘
print(id(l[0]))

names=(‘a‘,‘b‘,‘c‘)

列表可变的底层原理:
#指的是索引所对应的值的内存地址是可以改变的

元组不可变的底层原理:
#指的是索引所对应的值的内存地址是不可以改变的
#或者反过来说,只要索引对应值的内存地址没有改变,那么元组始终是没有改变的

t1=([‘a‘,‘b‘,‘c‘],‘wc‘,‘office‘)

print(id(t1[0]))
print(id(t1[1]))
print(id(t1[2]))

t1[0][0]=‘AAAA‘
print(t1)

print(id(t1[0]))


------------------------------------02 练习.py------------------------------------
#队列:先进先出
l=[]
# # 入队
# # l.append(‘王苗鲁‘)
# # l.append(‘王成龙‘)
# # l.append(‘大脑门‘)
# #出队
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))
#堆栈:先进后出
l=[]
# #入栈
l.append(‘王苗鲁‘)
l.append(‘王成龙‘)
l.append(‘大脑门‘)
# #出栈
#
print(l.pop())
print(l.pop())
print(l.pop())




msg_dic={
‘apple‘:10,
‘tesla‘:100000,
‘mac‘:3000,
‘lenovo‘:30000,
‘chicken‘:10,
}

shopping_cart=[]
while True:
for k in msg_dic:
info=‘商品名:%s 价钱:%s‘ % (k, msg_dic[k])
print(info.center(50,‘ ‘))
name=input(‘请输入商品名>>: ‘).strip()
if name not in msg_dic:
# 输入的商品名不合法,打印提示信息并且直接进入下一次循环
print(‘输了些什么玩儿。。。重输‘)
continue
# else:
# #输入的商品品合法,结束循环
# break

while True:
count=input(‘请输入购买个数:‘).strip()
if count.isdigit():
#输入个数合法
count=int(count)
break
else:
print(‘商品的个数必须为整数‘)
# continue # 不加continue也会跳入下一次

name,count
for item in shopping_cart:
# print(item)
if name == item[‘name‘]:
item[‘count‘]+=count
break
else:
price=msg_dic[name]
info={‘name‘:name,‘count‘:count,‘price‘:price}
shopping_cart.append(info)
print(shopping_cart)




05 元组列表字典相关

标签:not   xxx   反向   lenovo   内存地址   字典   数据类型   mac   组合   

原文地址:https://www.cnblogs.com/zhangmingyan/p/9142542.html

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