Python 列表的创建

  创建一个空列表    例如:fruit=[] 
  创建一个有元素的列表 例如:fruit=['apple','banana','cherry']

  创建嵌套列表     例如:fruit=[['apple','1'],['banana','2'],['cherry','3']]

Python 列表元素的查找

fruit=['apple','banana','cherry']
print(fruit)   #获取全部元素
print(fruit[:-1])#等同于上方的效果
print(fruit[:]) #等同于上方的效果
print(fruit[0]) #单个元素的获取
print(fruit[0:3])#实际获取0~2下标之间的元素(顾首不顾尾)
print(fruit[:3]) #等同于上方的效果
print(fruit[-1]) #获取倒数第一个元素
print(fruit[-2:-1])#只获取倒数第二个元素
print(fruit[-2:])#从倒数第二个获取到最后

Python 列表元素的添加和修改

fruit.append('pear')   #在列表的最后添加元素
fruit.insert(1,'grape')#在下标1的位置添加元素,其他元素后移一位
fruit[0]='tomato'  #元素的替换

Python 列表元素的删除

fruit.remove('tomato') #使用名称移除一个元素
del fruit[0] #使用下标移除元素
fruit.pop(index=0) #效果同上,默认移除最后一个
fruit.clear() #清空列表所有的元素

Python 列表其他函数

print(fruit.index('apple'))#下标的查找
print(fruit.count('apple'))#元素个数的统计
fruit.sort()#按照ASCII码排序
fruit.reverse() #反转列表
fruit.extend([1,2,3])#添加列表到fruit列表尾部
fruit2=fruit.copy() #第一层独立复制,第二层复制的是内存地址
fruit2=fruit[:] #同上
fruit2=list(fruit) #同上
import copy
fruit2=copy.deepcopy(fruit)#真正的完全复制

Python 列表的循环

for i in fruit:
print(i)
for i in range(len(fruit)):
print(fruit[i])
for index,data in enumerate(fruit):
print(index,data)

Python 元组的创建

  创建一个空元组    例如:fruit=() 
  创建一个有元素的元组 例如:fruit=('apple','banana','cherry')

Python 元组的使用

  元组是一个只读列表不可用添删改,但是可以查询(通上方列表的查找)


Python 字典的创建

  创建一个空字典       例如:fruit={}

  创建一个有元素的字典 例如:fruit={'one':'apple','two':'banana','three':'cherry'}

  创建一个嵌套字典   例如:fruit={'one':{'apple':'1'},'two':{'banana':'1'},'three':{'cherry':'1'}}

  创建一个联合字典        例如:fruit=dict.fromkeys(['1','2',3],{'name':'gm'})#和上方列表的copy方法相似

Python 字典的查询

fruit={'one':'apple','two':'banana','three':'cherry'}
print(fruit['one'])#获取值,但没有'one'的时候会报错
print(fruit.get('one'))#获取值
print(fruit.keys())#获取所有的键
print(fruit.values())#获取所有的值

Python 字典的修改

fruit['four']='pear'#如果'four'存在这修改,不存在就创建
fruit.update({'one':'apple juice','five':'petter'})#如果有就修改,没有就添加
fruit.setdefault('one','apple core')#如果'one'存在不修改,不存在创建

Python 字典的删除

del fruit['one']#指定删除,但没有one会报错
fruit.pop('one')#指定删除,同样没有'one'会报错
fruit.popitem()#随机删除
fruit.clear() #清空字典

Python 字典其他函数

fruit.items()#转换成列表
fruit.copy()#同列表的copy一样

Python 字典的循环

for i in fruit:
print('key:%s value:%s'%(i,fruit[i]))
for k,val in fruit.items(): #不建议使用效率低
print(k,val)

Python 集合的创建

  创建一个有元素的集合 例如:gather_one=set([1,2,3,4,4])

Python 集合的关系

gather_one=set([1,2,3,4,4])
gather_one_son=set([1,2,3])
gather_two=set([3,4,5,6])
print(gather_one.intersection(gather_two))#交集
print(gather_one.symmetric_difference(gather_two))#反向交集
print(gather_one.union(gather_two))#并集
print(gather_one.difference(gather_two))#差集
print(gather_one.issuperset(gather_one_son))#子集
print(gather_one_son.issubset(gather_one))#子集

Python 集合的添加

gather_one.add(15)#添加一个集合元素
gather_one.update([100,222,333])#添加多个元素

Python 集合的删除

gather_one.pop()#随机删除一个集合元素
gather_one.discard(15)#删除一个集合元素
gather_one.remove(2)#删除一个指定集合元素

Python 集合的其他函数

gather_three=gather_one.copy()#和列表的复制效果相同
print(gather_one)

 Python 字符串的判断

fruit='cherry'
print('1.2'.isdigit())#判断是否是正整数
print('1a'.isalnum())#判断是否是数字和英文字母(不包含特殊字符)
print('1a'.isalpha())#判断是否是纯英文字符
print('1A'.isdecimal())#判断是否为十进制
print('1a'.isidentifier())#判断是不是合法的变量名
print('a1'.islower())#判断是否有小写
print(fruit.isnumeric())#判断是否是正整数
print(fruit.isprintable())#判断是否是打印文件
print(fruit.isspace())#判断是否是空格
print(fruit.istitle())#判断每个开头字母是否为大写
print(fruit.isupper())#判断是否为大写
print(fruit.endswith('ry'))#判断是否是'ry'结尾
print(fruit.startswith('ch'))#判断是否是'ch'开头

Python 字符串的转化

print(fruit.lower())#全部小写
print(fruit.upper())#全部大写
print('AbCd'.swapcase())#大小写互换
print(fruit.capitalize()) #首字母大写
print(fruit.title())#每个单词的首字母大写
print(fruit.encode(encoding='utf8')) #字符串转化成bytes类型
print(b'aaa'.decode(encoding='utf8'))#bytes类型转化成字符串

Python 字符串的格式化

print('my name is {name}'.format(name=fruit))#格式化
print('my name is {name}'.format_map({'name':fruit}))#格式化,可以使用字典带入
print('+'.join(['','','']))#拼接字符使用
print('a b c d'.split(' '))#按照空格转化成列表默认空格
print('a\nb\n'.splitlines())#按照系统默认回车符号转化成列表,windws(\r\n),linux(\n)
print(' \npear'.lstrip())#去掉左边的全部空格和换行
print('pear \n'.rstrip())#去掉右边的全部空格和换行
print(' \npear \n'.strip())#去掉左右两边的全部空格和换行

Python 字符串的查找和替换

print(fruit.find('c'))#查找字母下标,不存在返回-1
print('abcda'.rfind('a'))#从右向左查找
print('abcda'.replace('a','',2))#替换字母'a'需要替换的字母,'1'替换后的字母,2替换几次
p=str.maketrans('rry','***')#加密的方法
print(fruit.translate(p))#使用上方方法加密

Python 字符串的补齐

print(fruit.ljust(20,'-'))#总长度20,不足用'-'符号补齐,fruit左对齐
print(fruit.rjust(20,'-'))#总长度20,不足用'-'符号补齐,fruit右对齐
print(fruit.center(20,'-'))#总长度20,不足用'-'符号补齐,fruit居中
print(fruit.zfill(20))##总长度20,不足用0补齐

Python 字符串的统计

print(fruit.count('c')) #计算c在字符串中的个数

Python 文件的打开

f=open('file_test.text','r',encoding='utf8')#只读打开文件
f=open('file_test.text','w',encoding='utf8')#写的方式打开文件(有这个文件就会覆盖)
f=open('file_test.text','a',encoding='utf8')#追加的方式打开文件(append)
f=open('file_test.text','r+',encoding='utf8')#读写方式,先读后写,写入以追加的模式
f=open('file_test.text','w+',encoding='utf8')#写读,先写后读,写入以覆盖的方式
f=open('file_test.text','a+',encoding='utf8')#追加读,
f=open('file_test.text','rb',encoding='utf8')#以二进制的形式读取文件
f=open('file_test.text','wb',encoding='utf8')#以二进制的形式写入文件
f=open('file_test.text','ab',encoding='utf8')#以二进制的形式追加文件
f=open('file_test.text','rU',encoding='utf8')#适配windows和linux的换行
f=open('file_test.text','r+U',encoding='utf8')#适配windows和linux的换行

Python 文件的写入

f.write('床前明月光,\n疑是地上霜,\n举头望明月,\n低头思故乡.')#写入
f.writelines(['','',''])#以类表的形式写入数据

Python 文件的读取

print(f.readline())#读取一行
print(f.read())#读取所有文件
print(f.readlines())#读取所有变成列表的形式

Python 文件的关闭

f.close()#关闭

Python 文件的光标移动

f.seek(0)#光标移动
f.tell()#当前光标所在的位置

Python 文件的判断

print(f.readable())#是否可读
print(f.writable())#是否可写入
print(f.seekable())#是否可移动光标
print(f.closed)#是否可关闭
f.isatty()#是不是一个终端设备

Python 文件的其他函数

f.flush()#刷新内存中的文件保存
f.truncate(10)#截断10个字符,10以后的字符会去掉
f.fileno()#返回文件句柄的编号
f.detach()#文件编辑过程中改变编码
print(f.encoding)#文件的编码
print(f.errors)#文件的报错

Python 文件的循环

for line in f:          #最效率
print(line.strip())
for line in f.readlines():
print(line.strip())

Python 编码的转换

str='你好'
#encode:编码 Python3中字符默认编码是'unicode'转换成'gbk'或者其他的编码
print(str.encode('gbk'))
#decode解码 'gbk'其他的编码转化成'unicode'编码
print(str.encode('gbk').decode('gbk'))

 Python 小试牛刀

  购物车程序的书写,思路:用户进入界面输入金额--->打印商品列表---->选择商品---->扣款---->加入购入车---->退出

#coding=utf-8
#Author:gm
#readme:运行程序输入金额,进入商品列表,选择数字购买,按q退出
commodity=[['apple',''],['cherry',''],['banana',''],['grape','']]
shopping_car=[]
#金额的输入
while True:
cash=input('你需要多少钱:')
if cash.isdigit():
break
else:
print('请输入正整数!')
cash=int(cash)
flag=True
while cash>=0:
#main
#打印商品列表
for i in range(len(commodity)):
print('%s. %s 价格$%s'%(i+1,commodity[i][0],commodity[i][1]))
print('你的金额:$%s'%(cash))
commodity_id=input('购买:')
#停止购买的条件
if commodity_id=='q':
break
if commodity_id.isdigit():
commodity_id = int(commodity_id)
else:
print('请输入正整数!')
continue
if commodity_id > len(commodity) or commodity_id < 1:
print('没有件商品')
continue
comm_index = commodity_id-1
#主要的逻辑判断
if int(commodity[comm_index][1]) <= cash:
shopping_car.append(commodity[comm_index])
cash = cash - int(commodity[comm_index][1])
print('成功购买%s'%(commodity[comm_index][0]))
else:
print('对不起你的金额不足')
print('------你的购物车------')
for i in shopping_car:
print(i)
print('你的余额$%s'%(cash))

shopping_cart

python学习途径

友情推荐:  猿人学Python【https://www.yuanrenxue.com/】 由一群工作十余年的老程序员结合实际工作经验所写的Python教程。

新手Python第二天(存储)的更多相关文章

  1. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  2. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  3. selenium webdriver (python) 第二版

    前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们 ...

  4. Python第二十四天 binascii模块

    Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # ...

  5. Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块

    Python第二十二天   stat模块  os.chmod方法  os.stat方法  pwd  grp模块 stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义,根据 ...

  6. Python第二十六天 python装饰器

    Python第二十六天 python装饰器 装饰器Python 2.4 开始提供了装饰器( decorator ),装饰器作为修改函数的一种便捷方式,为工程师编写程序提供了便利性和灵活性装饰器本质上就 ...

  7. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...

  8. python第二十九课——文件读写(读取读取中文字符)

    演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...

  9. 孤荷凌寒自学python第二十九天python的datetime.time模块

     孤荷凌寒自学python第二十九天python的datetime.time模块 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) datetime.time模块是专门用来表示纯时间部分的类. ...

随机推荐

  1. ASP.NET web api 跨域请求

    1.学习文章:AJAX 跨域请求 - JSONP获取JSON数据 1.asp.net代码 参考文章:http://www.sxt.cn/info-2790-u-756.html (1).增加CorsH ...

  2. Linux - Seafile

    0. 摘要 Seafile 是一款开源的企业云盘,注重可靠性和性能.支持 Windows, Mac, Linux, iOS, Android 平台.支持文件同步或者直接挂载到本地访问. AWS(亚马逊 ...

  3. DevOps 解读

    本文为 转载文章, 非原创 DevOps DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化.运 ...

  4. Sequelize-nodejs-7-Associations

    Associations关联性 This section describes the various association types in sequelize. When calling a me ...

  5. node.js 连接 sql server 包括低版本的sqlserver 2000

    利用tedious连接,github地址:https://github.com/tediousjs/tedious 废话不多时直接上代码. connection.js var Connection = ...

  6. 玩转Spring Boot 集成Dubbo

    玩转Spring Boot 集成Dubbo 使用Spring Boot 与Dubbo集成,这里我之前尝试了使用注解的方式,简单的使用注解注册服务其实是没有问题的,但是当你涉及到使用注解的时候在服务里面 ...

  7. Mysql 多实例实施步骤

    基本理论:利用同一套安装程序,不同配置文件,不同启动程序,不同数据目录.有公用资源,也有私有资源. 实现步骤: 1.正常安装mysql,二进制安装或者编译安装. 2.创建mysql多实例总目录,总目录 ...

  8. P1474 货币系统 Money Systems

    题目描述 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单 ...

  9. 四步掌握CAN节点隔离设计

    四步掌握CAN节点隔离设计 “隔离”是模块为CAN节点设备提供可靠数据传输的首要保障,通常隔离模块的“隔离”是指模块上电后,能为节点提供信号隔离及电源隔离,隔离电压等级以2500VDC.3500VDC ...

  10. Mac开发中遇到的一些小问题解析

    通过mac开发的过程中,有一些小问题出现,列如下,后续会持续增加: 1. 命令行清空废纸篓(jar包太多,倾倒废纸篓太慢) sudo rm -rfv ~/.Trash /Volumes/*/.Tras ...