python基础之数据类型/字符串/元组/列表/字典
Python 数据类型
数字类型: int整型,long 长整型(在python3.0里不区分整型和长整型)。float浮点型;complex复数(python中存在小数字池:-5--257);布尔值:真或假1或0,1真,0假,真为条件成立,0为条件不成立。
数据运算
运算符:+加,-减,*乘,/除,%取模(返回除法的余数),**幂(返回X的y次方)
//取整除(返回商的整数部分)
比较运算符:
bytes类型
文本都是str字符串类型,音视频文件都是用bytes类型表示。二进制统一称为bytes类型。
数据转换
Str转二进制bytes
网络编程的时候python3.0数据传输全部必须使用二进制形式。Encode(编码),decode(解码)
abc='广东省'
print('abc'.encode)
C:\Users\HT\AppData\Local\Programs\Python\Python35\python.exe C:/Users/HT/PycharmProjects/untitled/sys.mod.py
<built-in method encode of str object at 0x000002AD3DBBA768>
进程已结束,退出代码0
列表/元组操作 元组与列表的区别,元组是小括号(),列表是中排号[],元组只能使用count,和indax。
列表是一种数据类型:
nams=[‘zhangyang’,’’guyun’,’xiangpeng’,’xuliangchen’]
Print(name[names[1:3]],取的值是第一位的guyun和第二的xiangpeng,不含第三位。取头不取尾。称为切片。从0值开始。无法取-1后一位数,如果取-1后一位,直接写:号
import copy
names=['zhangyang','guyun','xiangpeng',['zhangli'],'xuliangchen','guwen']
names2=[1,2,3,67,9]
print (names)
print (names[1],names.count('guyun'))# count 统计某一字段在数据中的数量
print(names.index('xuliangchen'))# index 查找出某一字段的位置
print(names[-4:])# 打印出从负4位至最右一位字段
names.append('huangtao')# append 追加字段,默认追加至最后一位位置
names.insert(2,'yanglianhue')# insert 插入字段,insert (2,'yanglianhue')指在将字段插入到第2位置
names[3]='machaog' # ,names[3]='machaog'是指将替换第3位置的字段
names.remove('guyun')# remove 删除
names.clear()# clear 清空列表
names.reverse()# reverse 反转顺序
names.sort()# sort 排序 次序为字符串/数字/字母,即为ASCII码顺序排序。
names.pop(2)# pop()指定位置为删除最后一位字段,指定位置pop(2)意为删除位置2的字段。
names.extend(names2)# extend 扩展,将names2扩展到names,names2列表中的数据不会被修改。
del (names2)# del 删除。
names2=names.copy()# copy 为浅copy ,只copy第一层,也可以用names2=names[:],也可以用names2=list(names)
names2=copy.deepcopy(names)# 调用import copy 库里的copy.deepcopy为深copy。,不仅COPY第一层的数据,还copy列表下一层的数据
names[2]='huangtao'
names[3]='tao'
print(names)
print (names2)
print(names[0:20:2])# 可以像range 一样的使用步长来打印输出。
for i in names:
print (i)'
isdigit() 方法检测字符串是否只由数字组成。
enumerate()的用法多用于在for循环中得到计数,在同时需要index和value值的时候可以使用 enumerate。
len() 方法返回对象(字符、列表、元组等)长度或项目个数。
字符串的常用操作
name = 'my name is alex li'
#print (name.capitalize())#首字母大写
#print (name.count('l'))#统计字符的数量
#print(name.center(50,'-'))#指定字符串长度,将变量居中,长度不够用指定字符填充。
#print('name'.encode)#转换成二进制
#print(name.endswith('i'))#判断以什么结尾
#print(name.expandtabs(tabsize=30))#将tab符转换成N个空格,\t 为tab符
#print(name.find('l'))#查找输出下标,从左边开始查找
#print(name.rfind('l'))#查找输出下标,从右边开始查找
#print (name[name.find('is'):15])#对字符串进行切片,从变量name中查找从'is'开始截取至第15位
#print(name.format(name='alex',year=20))#格式化输出
#print(name.format_map({'name':'alex','year':12}))#使用字典格式化输出
#print('Abc123'.isalnum())#判断字符串是否由数字和字母组成。
#print('abc'.isalpha)#判断字符串是否由纯字母组成
#print('123'.isdecimal())#判断字符串是否是十进制无小数点的数字。
#print('66'.isdigit())#判断字符串是否是个整数。
#print('1A'.isidentifier())#判断是不是一个合法的变量名
#print('a 1A'.islower())#判断是否是全小写
#print('88'.isnumeric())#判断是否是只有数字和isdigit类似
#print('33a'.isspace())#判断是否是空格
#print('My Name Is Alex'.istitle())#判断首字符是否是大写
#print('my name is'.isprintable())#判断文件是否可以打印,tty file,drive file 无法打印
#print('my is'.isupper())#判断是否全是大写
#print('+'.join(['1','2','3'])#输出结果为1+2+3
#print(name.ljust(50,'*'))#指定字符串长度,长度不够右边用*号填充
#print(name.rjust(50,'*'))#指定字符串长度,长度不够左边用*号填充
#print('ALEX'.lower())#将大写转小写
#print('alex'.upper())#将小写转大写
#print('\nAlex'.lstrip())#去掉左边的回车和空格
#print('Alex\n'.rstrip())#去掉右边的回车和空格
#print('\nAlex\n'.strip())#去掉全部的回车和空格
'''
p = str.maketrans('abcdefg','1234567')
print('alex li'.translate(p))#将abcdefg,转换成对应的1234567,类似加密。
'''
#print('alex',replace('L'))#替换,将大写L替换小写l;replace(L',1)可加参数1,指只替换1处。
#print('alex li'.rfind('l'))#查找最右边的值,find()是查找最左边的值。
#print('alex li'.split())#默认按空格来分割字符串,也可使用指定符分割,split('a')
#print('Alex Li'.swapcase())#首字线小写,其它字母大写
#print ('alex li'.title())#将字符串的首个字母转换大写
print('alex li'.zfill(50))#位数不够用0填充
字典与集合
字典是无序的,没有下标。字典是通过key来查找的。
字典是一种Key-value的数据类型,key是键,value是值。
info ={
'stu001':"li lian jie",
'stu002':"zen zi dang",
'stu003':"chen long",
}
print(info['stu001'])#查询
print(info.get('stu006'))#尽量使用这种查询,不容易报错。
info['stu004']='李连杰'#修改,如果字典里没有就会创建。
del info['stu002']#删除
info.pop ('stu002')#删除
info.popitem()#随机删除
print('stu001' in info)#判断字典里是否存在‘stu001‘
在python 2.X info.has_key("001" )#print(info)
print(actor.values())#打印值,不打印KEY
print(actor.keys())#打印KEY,不打印值
actor.setdefault('英国',{'www.google.com':['a','b','c']})#先查找字典里的key,如果字典里没有则创建,如果有则返回字典里的key
actor = {
'大陆':{
'li lian jie':['大陆第一代功夫巨星','代表作:','少林寺']
},
'香港':{
'li xiao long':['功夫电影第一人','代表作:','龙争虎斗']
},
'美国':{
'Stallone':['美国硬汉第一人','代表作:','第一滴血']
}
}
info={
'韩国':{
'安在旭':['a','b']
},
'美国':{
'施瓦辛格':['美国硬汉第二人','代表作:','未来战士']
}
}
actor['美国']['Stallone'][2]='敢死队'
print(actor.values())#打印值,不打印KEY
print(actor.keys())#打印KEY,不打印值
actor.setdefault('英国',{'www.google.com':['a','b','c']})#先查找字典里的key,如果字典里没有则创建,如果有则返回字典里的key
#info.update(actor)#合并字典,有重叠的覆盖,没有的创建
#print(info.items())#将字典转换为列表
#c = dict.fromkeys([1,2,3],'test')#创建一个新字典,并赋值test,类似浅copy,fromkeys创建的key都指向的是同一内存地址,修改其中一个KEY,其它KEY的value会跟着改变
for i in actor:#循环打印字典
print (i,actor[i]) for k,v in actor.items():#把字典转换成列表
print(k,v)
python基础之数据类型/字符串/元组/列表/字典的更多相关文章
- Python之路 day2 字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- python基础之数据类型之元组和字典
四.元组 1.用途:元组是不可变的列表,能存多个值,但只能取,不能改 2.定义:name = (‘alex’, ’egon’, ‘wxx’) 在()内用,分割开,可存放任意类型的值 强调:x = (‘ ...
- python 小白(无编程基础,无计算机基础)的开发之路,辅助知识6 python字符串/元组/列表/字典互转
神奇的相互转换,小白同学可以看看,很有帮助 #1.字典dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...
- python 基础-----数字,字符串,列表,字典类型简单介绍
一.第一个python小程序 1.下载安装python2.7和python3.6的版本及pycharm,我们可以再解释器中输入这样一行代码: 则相应的就打出了一句话.这里的print是打印的意思.你输 ...
- python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- 转:python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ...
- 【转】python字符串/元组/列表/字典互转
#-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type ' ...
- Python基础之:数字字符串和列表
目录 简介 数字 字符串 字符串对象str 列表 简介 Python的主要应用是进行科学计算,科学计算的基础就是数字,字符串和列表.本文将会详细的给大家介绍一下这三个数据类型的使用情况. 数字 数字是 ...
- Python基础:数据类型-字符串(7)
1.字符串基本操作 字符串是由字符组成的一串字符序列,字符串是有顺序的,从左到右,索引从0开始,依次递增. Python中字符串类型:str. Python中字符串的三种表示方式: (1)普通字符串: ...
随机推荐
- css3 transition 和 animation实现走马灯
这段时间在做一个App,H5的开发.页面上有公告 以走马灯的形式显示出来. 在开始直接用的marquee标签,后来发现在ios客户端,走马灯移动不够平滑,有抖动现象. 对于有强迫症的我而言是无法忍受的 ...
- swoole使用 常用案例
swoole使用 服务器及客户端 4种服务器[tcp/udp/web/websocket] TCP服务器 //创建Server对象,监听 127.0.0.1:9501端口 $serv = new sw ...
- 分针网—IT教育:作为PHP开发人员容易忽视的几个重点
无论是学习什么样的一个开发.ASP开发.java开发.当学习还不是很久的时候,一般都是不知道它们的精华是在哪里,而现在很多的php程序员也是不知道PHP的精华所在,为什么perl在当年在商界如此的出名 ...
- js与juery基础知识对比(一)---2017-05-06
用表格做的,想要对比的内容一目了然,红色部分为重点 js jquery 取元素 id: document.getElementById("aa"); 取到的是dom对象 cla ...
- 【vue系列之一】使用vue脚手架工具搭建vue-webpack项目
对于Vue.js来说,如果你想要快速开始,那么只需要在你的html中引入一个<script>标签,加上CDN的地址即可.但是,这并不算是一个完整的vue实际应用.在实际应用中,我们必须要一 ...
- 原生JS-----论数据类型检测
常见的数据类型检测的方法: 一.最为基础的typeof 二.不可不知的instanceof 三.比instanceof更好的constructor 四.检测值或者表达式的结果是否为NaN 五.易用的j ...
- JavaScript ,Python,java,Go系列算法之选择排序
常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等. 用一张图概括: 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n2) ...
- 使用 onpropertychange 和 oninput 检测 input、textarea输入改变
检测input.textarea输入改变事件有以下几种: 1.onkeyup/onkeydown 捕获用户键盘输入事件. 缺陷:复制粘贴时无法检测 2.onchenge 缺陷:要满足触发条件:当前对象 ...
- 基于DotNet Core的RPC框架(一) DotBPE.RPC快速开始
0x00 简介 DotBPE.RPC是一款基于dotnet core编写的RPC框架,而它的爸爸DotBPE,目标是实现一个开箱即用的微服务框架,但是它还差点意思,还仅仅在构思和尝试的阶段.但不管怎么 ...
- CentOS7 防火墙规则 (firewalld)
1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disab ...