Python之路day2---列表,元组操作、字符串操作、字典操作、集合操作、文件操作、字符编码与转码

1.列表、元组操作

列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

定义列表

names = ["jack","tom","bob","jerry","bob"]

1.1通过下标访问列表中的元素,下标从0开始计数

print(names[0])
jack

print(names[1])
tom

print(names[-1])  #倒着取
bob

1.2列表切片

print(names[0:3])    #切片,包头不包尾
print(names[:3])    #切片,前面不写默认从0开始,不包尾
print(names[1:])    #切片,从指定的下标开始包尾
print(names[-3:-1])    #从右往左包括尾

1.3列表的增、删、改、查

1.3.1 增

names.append("majiang")    #在列表的末尾追加
print(names)

names.insert(2,"sewei")    #列表中插入到指定的位置
print(names)

1.3.2 删

names.remove("bob")    #删除指定的

del names[1]

names.pop(2)

1.3.3 改

names[2] = "马江"
print(names)

1.3.4 查

print(names.index("bob"))

1.4 列表扩展

name1 = [1,2,3]

names.extend(name1)     #扩展列表
print(names)

1.5 反转&排序

names.reverse()    #反转;在后面打印
names.clear()    #清空数组
names.sort()     #排序;按照ASSIC码

1.6 列表copy

# Author:jack ma
import copy
names = ["jerry","tony","mj","hsw",["gg","mm"]]

names1 = copy.copy(names)        #浅copy;只copy一层到第二层的时候就只copy内存地址;改names1第二层中的元素时names跟着变

name2 = copy.deepcopy(names)    #深copy,第二层里面的也会进行copy

for i in names:          #取元素
    print(i)

print(names[0:-1:2])     #设置布长切片0和-1都可以省略不写(不包尾)
print(names[::2])        #包尾
print(names[:])          #打印所有

1.7 列表删除

del names

1.8 统计

print(names.count("bob"))  #统计bob在names列表中有多少个

1.9 

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

语法

names = ("alex","jack","eric")

 

1.10 

程序:购物车程序

需求:

  1. 启动程序后,让用户输入工资,然后打印商品列表
  2. 允许用户根据商品编号购买商品
  3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 
  4. 可随时退出,退出时,打印已购买商品和余额
# Author:jack ma
product_list = [
    ("iphone",5800),
    ("mac pro",12000),
    ("bycle",800),
    ("watch",1800),
    ("book",80),
    ("coffe",30)
    ]

shopping_list = []

slary = input("input your slary:")
if slary.isdigit(): #isdigit()  #方法检测字符串是否只由数字组成。
    slary=int(slary)

while True:
    for dex,itm in enumerate(product_list): #enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。
        print(dex,itm)
        #print(product_list.index(itm),itm)
    user_choice = input("你要买什么?>>>:")
    if user_choice.isdigit():
        user_choice=int(user_choice)
        if user_choice < len(product_list) and user_choice >= 0:
            p_itm = product_list[user_choice]
            if p_itm[1] <= slary: #买的起
                shopping_list.append(p_itm)
                slary -= p_itm[1]
                print("Added %s into shopping cart,your current blance: \033[31;1m%s\033[0m" %(p_itm,slary))
            else:
                print("\033[31;1m你的余额只剩%s还买个毛线\033[0m"%(slary))
        else:
            print("\033[31;1mproduct %s not exist\033[0m"%(user_choice))
    elif user_choice == "q":
        print("-----------shopping list-----------")
        for i in shopping_list:
            print(i)
        print("你的余额还剩下\033[31;1m%s\033[0m"%(slary))
        exit()
    else:
        print("Invalid options")

 

2. 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章