数据类型:列表及其应用

三元运算:存变量的时候有增加了一个判断条件

              格式:d=a if a<b else c    

 

字符串转二进制:

msg="今天天气如何"

print(msg.encode(encoding="utf-8"))

二进制转字符串:

print(msg.encode(encoding="utf-8").decode(encoding="utf-8"))

 列表

names=["li","guo","wang","zheng","zhong"]

print(names[1],names[2])     #['li','guo']

print(names[1:3])     #切片:起始位置1,结束位置2; 顾头不顾尾#['li','guo']

print(names[-1])     #取最后一个,“-”从右往左数#['zhong']

print(names[-2:])     #['zheng','zhong']

print(names[:2])       #['li','guo']

print(names[0:5:2])  #步长切片:隔一个输出#[‘li ,'wang','zhong']

       列表的追加:

names.appand("huang")   #插入最后面,一次只能插入一个

names.appand(1,"huang")#插入第二位

       列表的修改:

names[2]="xie"  #覆盖第3位

      列表的删除:
names.remove("guo")

del names[1] #=names.pop(1) 

names.pop()  #默认删除最后一个

names.clear   #清空

      列表的查找:

names.index("zhong")  #返回5

names.count("zhong") #chazhao"zhong"有几个

 

names.reverse()  #反转

name.sort()    #排序 按照ascall码顺序0

names.extend(names2)  #names2并到names

浅COPY的3种方法。用处:创建联合账号,name3修改了,name2和4会同时修改

1:names2=names.copy()   #浅copy,只copy第一层数据和指针地址,不copy指针所指的内容

2:names3=names[:]         #完全切片浅copy,

3:names4=list(names)    #浅copy

       列表的嵌套

import copy

names2=names.deepcopy(names)  #深copy,copy指针所指的内存数据

names=["li","guo","wang",["jack","peter"]"zheng","zhong"]  #嵌套的列表被当做一个元素,是一个独立的内存指针 

names[3][0]=rose    #jack被改为rose

       列表的循环

for i in names:

     print(i)

 

元组tuple(只读列表)

      与列表相同,但经过创建后不可再修改,只能查询。

names=("li","guo","wang","zheng","zhong")

 

习题:购物小程序

product_list=[['iphone',5999],
['huawei',6999],
['xiaomi',2999],
['oppo',5999],
['vivo',5999],
['jinli',899]]
shopping_list=[]
deposit=input("input your deposit:")
if deposit.isdigit(): #确定输入为整形
deposit=int(deposit)
while True:
for index,item in enumerate(product_list): #enumerate效率较高,全打印,index逐个打印
#print(product_list.index(item),item) #打印时显示下标方法1
print(index,item)
user_choice=input("您需要购买什么:")
if user_choice.isdigit():
user_choice=int(user_choice)
if user_choice<len(product_list) and user_choice>=0:
p_item=product_list[user_choice]
if p_item[1]<=deposit:#买的起
shopping_list.append(p_item)
deposit-=p_item[1]
print("Added \033[32;1m%s\033[0m into shopping cart,your surrent balance is \033[20;1m%s\033[0m" %(p_item,deposit))
else:
print("您的余额\033[41;1m%s\033[0m 已不足支付该商品" %deposit)
else:
print("您所输入的商品不存在,请重新输入")
elif user_choice=='q':
print("您已成功购买如下商品:")
for p in shopping_list: #排列输出,固定用法
print(p)
print("您当前的余额为\033[20;1m%s\033[0m" %deposit)
print("exit...")
break
else:
print("输入的数据无效")
break
else:
print("输入的数据无效")

 

posted @ 2019-06-27 00:19  远处是风景  阅读(10)  评论(0)    收藏  举报