跟我一起学python-02
说明:
1、列表、元祖
存储大量数据,如果用字符串存储,写入不方便,修改更不方便,因此用列表来存储
#From CaiChao
# _*_coding:utf-8_*_
names = ["张三","李四","王五"]
print(names[0],names[2])
或者
print(names[0:2])
备注:
1)、取值位置从0开始;
2)、[0:2]结束位置,顾头不顾尾;
3)、取最后一个使用[-1];
4)、取最后两位[-2:]
5)、前面的0也可以去掉[:3],可以理解成是多少取到多少
-----------------------------------------------------
方便添加:可以直接在源列表里面添加
或者
names.append("刘六") 在最后面添加
names.insert(1,"马七") 在李四前面添加
names[1] = "麻麻" 替换、修改李四
names.remove("李四") 删除李四
names.pop() 删除最后一个
names.clear() 清空
names.sort() 排序,特殊符号>数字>字母
names.extend(names2) 合并其他列表
print(names.index("李四")) 查找所在位置
print( names[names.index("李四")] ) 查找并打印出查找名字
print(names.count("李四")) 统计出现的次数
print(names)
for循环中引用列表
for循环列表:for i in names: print(i)
奇偶打印:print(names[0:-1:2])
元组:元组其实跟列表差不多,也是存一组数,只是它一旦创建,便不能再修改,所以又叫只读列表
写法:names = ("张三","李四","王五") 使用()
就2中用法:index和count
应用举例:购物车
需求:
启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
# _*_coding:utf-8_*_
product_list = [('小米手机',1800),('苹果手机',5400),('华为手机',1200),('微软手机',2400),('酷派手机',680)]
shopping_list = []
salary = input("请输入你的工资总额:")
if salary.isdigit():
salary = int(salary)
while True:
for i in product_list:
print(product_list.index(i),i)
user_choice = input("请输入您需要购买的商品:")
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice >=0 and user_choice <len(product_list):
p_itme = product_list[user_choice]
if p_itme[1] <= salary:
shopping_list.append(p_itme)
salary -= p_itme[1]
print("added %s into shopping cart,your current balance is \033[31;1m%s\033[0m" % (p_itme, salary))
else:
print("您的钱不够了啊!要充值了!")
else:
print("您输入有误,请重新输入!")
if user_choice == 'q':
print("-----商品清单------")
for name in shopping_list:
print(name)
exit()
else:
print("请输入数字选项哦!")
2、字符串操作
name = "caicai"
print(name.capitalize()) 首字母大写
print(name.count("a")) 统计a出现的次数
print(name.center(50,"-")) 50个字符,不足的用-补齐,并且文本居中
print(name.find("name")) 查找字符串所在文本中位置
print(name.format(name=cc,age=Age)) 字符串拼接
print(name.isalnum()) 判断是否是字符或者数字
print(name.isdigit()) 判断是否是整数
print(names.index("李四")) 查找下标
print(names.insert(1,'shishi')) 插入字符串
print(names.pop(1)) 删除列表中的一个元素
print('+'.join(['1','2','3'])) 在中间添加符号
3、集合、字典操作
字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容,通过索引查找。(存大内容)
info = {
# key value
'stu1101': "TengLan Wu",
'stu1102': "LongZe Luola",
'stu1103': "XiaoZe Maliya",
}
查找:
print(info)
print(info["stu1101"]) 没有key会报错
print(info.get('stu1106')) 没有key也不会出错
修改:
info["stu1101"] ="武藤兰"
添加:
info["stu1104"] ="苍进空"
删除:
del info["stu1104"]
其他用法:
print('stu1103' in info) 判断这个key是否存在,存在ture,不存在flase
info.keys 打印出所有key
info.setdefault("stu1106","马老师") 创建一个新的值,先去字典里面查找,如果有直接取回,没有就创建新值
info.update(字典2) 合并2个字典,有重复值更新为第二个
info.items() 把字典转成一个列表
多级字典嵌套及操作
av_catalog = {
"欧美":{
"www.youporn.com": ["很多免费的,世界最大的","质量一般"],
"www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
"x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
},
"大陆":{
"1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
}
}
av_catalog["*"] = { 'www.*.com':['不好看','别用她'] } #增加一个key
del av_catalog["日韩"] #删除一个key
av_catalog["大陆"]["1024"][1] = "可以在国内做镜像" #修改一个key
print(av_catalog)
print(av_catalog.get("*")) #查找一个key
字典的for循环:
for i in info:
print(i,info[i])
转载于:https://blog.51cto.com/caicai2009/1947666
上一篇: Python日常学习杂记
下一篇: 常用的java日期比较和日期计算方法小结