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)普通字符串: ...
随机推荐
- 利用子集构造法实现NFA到DFA的转换
概述 NFA非有穷自动机,即当前状态识别某个转换条件后到达的后继状态不唯一,这种自动机不便机械实现,而DFA是确定有限状态的自动机,它的状态转换的条件是确定的,且状态数目往往少于NFA,所以DFA能够 ...
- [ext4]07 磁盘布局 - 块/inode分配策略
Ext4系统从设计上就认为数据局部性是文件系统的文件系统的一个理想品质. 在机械硬盘上,相关联的数据存放在相近的blocks上,可以使得在访问数据时减少磁头驱动器的移动距离,从而加快IO访问. 在SS ...
- python安装pillow模块错误
安装的一些简单步骤就不介绍了,可以去搜索一下,主要就记录下我在安装pillow这一模块遇到的问题 1:安装好pillow后,安装过程没有出错 2:但是在python的IDLE输入from PIL im ...
- BP神经网络及其算法优化
大致原理和一种优化的方案,如下图,公式打字太麻烦,于是用手搞定.
- hdu4681 String DP(2013多校第8场)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681 思路: 我是胡搞过的 就是先预处理出(i,j)的正向的最大连续子串和逆向最大连续子串 然后对于A ...
- Oracle 12C 新特性之表分区带 异步全局索引异步维护(一次add、truncate、drop、spilt、merge多个分区)
实验准备:-- 创建实验表CREATE TABLE p_andy(ID number(10), NAME varchar2(40))PARTITION BY RANGE (id)(PARTITION ...
- WPF学习随笔
内容控件 Padding内边距,Margin外边距 1.ScrollViewer滚动条控件 <ScrollViewer VerticalScrollBarVisibility="Vis ...
- 【转】c++ new操作符的重载
基本概念: 1. 操作符重载:C++支持对某个操作符赋予不同的语义 2. new操作符:申请内存,调用构造函数 关于c++ new操作符的重载 你知道c++ 的new 操作符和operator new ...
- 配置nginx脚本开机自启动
vi /etc/init.d/nginx 插入以下内容,修改红色字体自己安装路径 #!/bin/bash## chkconfig: - 85 15# description: Nginx is a W ...
- 二识angularJS
前言:记得三月份时下定决心说每天要更新一篇博客,学习点新东西,实践下来发现太不现实,生活中的事情很多,再喜欢也不能让它一件占据生活的全部吧,所以呢,以后顺其自然吧.之前有一篇'初识angular'因为 ...