python学习笔记:数据类型——数字、字符串、元祖、字典
一、数字(Numbers)
a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
执行的结果是:
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
1、整型(int)和浮点型(float)
2、布尔类型(boolean)
print(type(True))
print(type(False))
print(bool(0))
print(bool(1))
print(bool(2))
print(bool(3 == 3))
执行结果如下:
<class 'bool'>
<class 'bool'>
False
True
True
True
二、元祖(tuple)
tup1 = ('118.24.3.40',3306,'root','')#创建元组
tup2 = (1,)#如果元组只有一个元素,需要在后面添加一个逗号
t=()# 定义一个空的tuple
l=[]# 定义一个空的list
print(type(t))
print(type(l))# 打印一下类型,看看是不是tuple
print(tup1.count(5)) #某个元素出现的次数
print(tup1.index('root')) #某个元素出现的下标
#元组的索引,分片,加法,乘法,和检查成员
print(tup1[0])
print(tup1[1:])
print(tup1 + tup2)
print(tup2 * 2)
print(4 in tup1)
执行的结果是:
<class 'tuple'>
<class 'list'>
0
2
118.24.3.40
(3306, 'root', '')
('118.24.3.40', 3306, 'root', '', 1)
(1, 1)
False
三、字典(dictionary)
1、查
xiaojun ={
'name':'xiaojun',
'sex':'男',
'shengao':'',
'age':'',
'email':'sss@qq.com',
'addr':'北京',
'id':'',
}
print(xiaojun)#查询整个字典
print(xiaojun['shengao'])#输出键为‘shengao’的值
print(xiaojun.get('zhuzhi'))#.get查找,当没有该值时不会报错,会返回none
print(xiaojun.get('zhuzhi','火星'))#.get查找,可以给一个默认值,当查到的key不存在时返回默认值
print(xiaojun.keys()) #查询所有的键
print(xiaojun.values()) # 查询所有的值
2、增
stus={}
stus['name']='小翠'
stus['name']='龙龙'#方法1
stus.setdefault('name','晓红')
stus.setdefault('age',18)#方法2
stus.setdefault('sex','男')
stus.setdefault('addr','北京')
stus.setdefault('phone',135000)
#区别在于第一种方式可以修改原有的值,setdefault不会修改原值,只有不存在该值才会增加
stus.update({'moeny':1000,a:b,c:d}) #可以理解为把两个字典拼接到一起,而setdefault只能新增一条。
print(stus)
3、改
stus['name']='小明'#和增的写法一样,没值则新增,有值则修改
4、删
del stus['phone']#删除方法1
stus.pop('phone') #删除方法2,两种无区别
stus.popitem() #随机删除
5、字典拼接
D={'one':1,'two':2}
D.update({'three':3,'four':4}) # 传一个字典
print(D)
执行结果如下:
{'one': 1, 'two': 2, 'three': 3, 'four': 4}
6、循环字典
dic = {'stu1':'cc','stu2':'andashu','stu3':'niuniu'}
for k in dic:
print(k,dic[k])#打印key和value的值,推荐使用这种方式,速度快
for k,v in dic.items():
print(k,v)#打印key和value的值,这种方式不推荐,因为会把字典转换成列表,效率不高
7、多层字典
all_stus={
'xiaojun':{
'sex':'nan',
'cars':['红旗','宝马']
},
'hailong':{
'age': 14,
'cars': ['奥迪', '悍马']
},
'yangfan':{
'addrs': '北京',
'carbagss': ['ysl', '蔻驰']
}
}
8、多层字典的增加、修改、删除
all_stus['xiaojun']['cars'].append('五菱宏光')
all_stus['xiaojun']['sex']='nv'
all_stus['xiaojun']['cars'].remove('宝马')
四、字符串(String)
print('Yes, he doesn\'t')print(r'C:\some\name')# 加r表示不使用转义符
password = ' jpg 123456 JPG '
print(password.strip()) # 去掉字符串两边的空格和换行,换行符是\n,中间的空格去不掉
print(password.rstrip()) # 去掉右边的空
print(password.lstrip()) # 去掉左边的空
print(password.strip(' jpg')) # 去掉首尾的 jpg
print(password.upper()) # 英文都变成大写
print(password.lower()) # 英文都变成小写
print(password.capitalize()) # 把首字母改成大写的
print(password.replace('', '上山打老虎')) # 将1234替换成“上山打老虎”
a = 'a.mp3'
print(a.endswith('.mp3')) # 判断是否已xxx结尾,返回布尔类型
print(a.startswith('')) # 判断是否已xxx开头
names = 'xiaojun,hailong,yangfan,ailing'
print(names.split(',')) # 用逗号把每一个元素分隔,也可以自己指定符号,不写默认空格分隔
# ============join方法================
users=['username','user2','user3']
print(users)
print(type(users))
#转list转换成字符串,使用常用方法连中括号和引号都成了元素
str_res=str(users)
print(str_res)
print(type(str_res))
# 使用join方法,将list转换成字符串
# 下面举例使用逗号,其他元素和符号也可以
res=','.join(users)
print(res)
print(type(res))
#===========zfill自动补0=============
l = list(range(,))
new_l = []
for i in l:
si=str(i)
print(si.zfill())#自动补0成5位数
#自动补0成5位数
new_l.append(si)
print(type(si))
print(type(new_l))
# =========find 和index的区别==========
s='abcd123'
print(s.find('z'))#找不到z返回 -1
print(s.index('z'))# 找不到z报错
# 都是找元素的下标,先分别用他们去找存在的元素,再找不存在的
print(s.count('z'))#计数
print(''.isdigit())# 判断是否为正整数
print(s.islower())# 判断是都是小写字母
print(s.isalnum())# 判断字符串里面有英文或者有数字
print(s.isalpha())# 只能是字母
print(s.isspace())#判断是否为空格 #===============python自带方法==================
import string #生成随机数方法
print(string.ascii_lowercase)#生成小写字母
print(string.ascii_uppercase)#生成大写字母
print(string.digits)#生成数字随机数
print(string.punctuation)#特殊字符
print(string.ascii_letters)#大小写
python学习笔记:数据类型——数字、字符串、元祖、字典的更多相关文章
- python学习笔记--数据类型和变量总结
1.数据类型 字符串 数字 列表 元祖 字典 2.可变不可变划分 可变:列表,字典 不可变:字符串,数字,元祖 举例:字符串,通过id查看字符串变量在内存中的地址.两次存的值不一样,这就说明了内存重新 ...
- 【python学习笔记】3.字符串使用
[python学习笔记]3.字符串使用 字符串是一种序列,素有标准的序列操作对字符串用样适用,字符串是不可以改变 格式化操作符,%,左侧是格式化字符串,右侧是被格式的值,可以是一个值.元组.字典 数值 ...
- python学习笔记(二)、字符串操作
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...
- Python学习日记(四) 集合和元祖
元祖的特性:是一个只读列表.可以循环.可以切片,修改数据遵循'儿子'不能改但'孙子'可能可以改. iterable:可迭代对象(元祖.列表.字串.集合) 元祖宣告方式: tu = (1,2,3,['a ...
- Python学习记录4-列表、元祖和集合
list列表 一组由有序数据组成的序列 数据有先后顺序 数据可以不是一类数据 list的创建 直接创建,用中括号创建,内容直接用英文逗号隔开 使用list创建 列表包含单个字符串的时候是一个特例 # ...
- python学习-day12:列表、元祖、字典介绍和内置
list:列表 >>>----可以被修改.修改成元素,元素可以使单独的数字,也可以是:新的list. 通过:链表..每个元素存储的时候,同时会指向下一个元素. 二.list编辑修改方 ...
- python 学习笔记 ---- 数据类型
Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) ① List 列表 和 Tuple 元组 ...
- Python学习笔记----数据类型 运算符 循环 条件判断
1. Python安装 在官网www.python.org下载安装程序,可以支持的操作系统linux,windows,mac. Python版本:2.x和3.x,分别有x86和x64. 在Window ...
- python学习笔记20(字符串格式化)
Python中内置有对字符串进行格式化的操作% 模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个t ...
- PYTHON 学习笔记3 元组、集合、字典
前言 在上一节的学习中.学习了基本的流程控制语句,if-elif-else for while 等,本节将拓展上一节学习过的一些List 列表当中操作的一些基本方法,以及元祖.序列等. 列表扩展 我们 ...
随机推荐
- SAP内表查询速度优化实例-OPEN SQL
一.FOR ALL ENTRIES IN 案例 今天碰到工单报工统计分析表查询速度特别慢 经查看源代码: SELECT afpo~dwerk afko~aufnr afpo~matnr AS plnb ...
- 8条关于Web前端性能的优化建议
一般网站优化都是优化后台,如接口的响应时间.SQL优化.后台代码性能优化.服务器优化等.高并发情况下,对前端web优化也是非常重要的. 下面说说几种常见的优化措施. 1.HTML CSS JS位置 一 ...
- Codeforces 1114D(区间DP)
题面 传送门 分析 法1(区间DP): 首先,我们可以把连续的相等区间缩成一个数,用unique来实现,不影响结果 {1,2,2,3,3,3,5,3,4}->{1,2,3,5,3,4} 先从一个 ...
- Linux下实现客户端和服务器端的通信
首先,可以将代码复制下来放到U盘里,然后挂载到Linux上 挂载步骤 找到设备->USB->你U盘的名字 挂载成功 访问U盘把代码拷贝到home文件夹下,就可以直接进行编译. client ...
- 【目录】mysql 架构篇系列
随笔分类 - mysql 架构篇系列 mysql 架构篇系列 4 复制架构一主一从搭建(半同步复制) 摘要: 一.概述 在mysql 5.5之前,mysql 的复制是异步操作,主库和从库的数据之间存在 ...
- 源码包安装Mysql
特殊原因我需要装在个人用户下 libtool-2.4.2.tar.xz mysql-5.1.37.tar.gz 1.解压libtool-2.4.2.tar.xz tar -xvf libtoo ...
- 初识PHP变量函数语法
PHP连接字符串 . <?php '你好,'.'我的亲爱的老师'?> PHP语句结束符 <?php echo "欢迎同学们!"; echo "Welco ...
- Linux Centos 7 下部署 .NetCore + MySql + Redis + mssql2007 部署过程
1. net core 安装及运行配置 安装 1)rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-p ...
- wireshark简单的过滤条件
http://blog.csdn.net/blue_jjw/article/details/8467885 一.IP过滤:包括来源IP或者目标IP等于某个IP比如:ip.src addr==192.1 ...
- 力扣—Reorder List(重排链表)python实现
题目描述: 中文: 给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点 ...