python学习笔记(数据类型)
python数据类型:
int 类型
float 小数类型
string 字符串
布尔类型 a = True b = False
1.列表,也称数组或list或array。它的表达方式通过下标或索引或编号来呈现。
students=['张三','李四','王五','赵六']
print(students[0])
注:最前面一个元素的下标为0,最后面一个元素的下标为-1
cities = []
#增加:(两种方式)
cities.append('北京') 在列表的末尾增加一个元素
cities.insert(0,'上海') 在列表的指定位置增加一个元素 #删除:
cities.pop(1) 删除指定位置的元素
cities.remove('北京') 删除指定的元素
cities.clear() 清除list
del cities(0) 删除指定位置元素 #修改:
cities[-1]='南京' 修改指定位置的元素,若指定的位置不存在会报错 #查询:
print(cities[1]) 查询指定位置元素
print(cities.index('广州')) 获取元素的下标,如果找不到指定元素会报错
print(cities.count('广州')) 获取指定元素在list出现的次数 #.inverse() 反转,把list反转一下
new_lis=['hello','world']
print(new_lis.verse()) #.sort
nums=[3,2,5,7,1,0]
nums.sort() #排序,升序
nums.sort(reverse=True) 降cities2=['武汉']#print(cities + cities2) 合并list
#print(cities *3) 复制3次 #多维数组
words=['view','code','tools',
['price','num',198,
['hello','usa','吃鸡']
] ]
print(words[-1][-1][1]) #切片,切片是list取值的一种方式(切片操作同样也适用于字符串)
nums=['张三','李四','王五','赵六']
print(nums[0])
print(nums[1:3]) 顾头不顾尾,从第1个开始取,取到第3-1个为止
print(nums[1:]) 如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写
print(nums[:2]) 如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写
print(nums[:]) 取所有的
lis = list(range(1,21))
print(lis)
print(lis[::2]) 步长,隔几个取一次
print(lis[::-2]) 步长,隔几个取一次
如果步长是正数的话,从左往右边开始取值
如果步长是负数的话,从右边往左边开始取值
print(lis[::-1]) #反转list 练习: #校验用户名是否合法:
# 输入账号 #input
# 如果账号存在的,提示已经被注册,如果不存在的,就让他注册 all_users 【 】
#不能为空 #strip()
#用户名长度长度6-12之间 len()
#最多输入3次 #循环 all_users = ['张三','李四','wifi']
for i in range(3):
username = input('请输入账号:').strip()
if len(username)>5 and len(username)<13:
if all_users.count(username)>0:
print('这个名字太好啦,已经被注册啦!')
else:
print('名字不错,赶紧注册吧!')
break
else:
print('用户名长度不合法!长度6-12之间!')
else:
print('失败次数过多')
2.字典 {key:value}键值对
特点:
1.取数据方便
2.速度快
3.字典是无序的
4.如果直接循环一个字典的话,循环的是字典的key
info={'name':'fancy','sex':'女','addr':'地球'}
#查询:
print(info.get('phone')) 取不到这个key的话,返回None
print(info.get('phone',110)) 取不到这个key的话,默认为110
print(info['phone']) 若Key不存在时会报错 #增加:
info['phone']='13600000000' 增加一个key,如果key存在的话,会修改原来key对的的value
info.setdefault('age':32) 增加一个key,如果key存在的话,不会修改原来key里面的value #修改:
info['name']='lucy' #删除:
info.pop('name') 删除指定key的键值对
info.popitem() 随机删除一个key
del info['phone'] 删除指定key的键值对
info.clear() 清除字典
#字典常用方法:
print(info.values()) 获取到字典所有的value
print(info.keys()) 获取到字典所有的key
print(info.items()) 获取字典多有的键值对,k-v 注意:
1.循环一个字典的话,循环的是字典的key,如:
for p in people:
print(p)
2.循环的时候,同时取key和value:
for k,v in people.items():
print(k,v) 练习:
users = {
'Lucy':'123456',
'lili':'456789',
}
#所有的账号和密码
# username
# pwd
# cpwd
# print( '123456' in users ) #字典里面用in来判断的话,只是判断key是否存在
for i in range(3):
username = input('账号:').strip()
passwd = input('密码:').strip()
cpasswd = input('密码确定:').strip()
if username=='' or passwd=='' or cpasswd=='':
print('用户名/密码不能为空')
elif username in users:
print('用户名已经被注册!')
elif passwd!=cpasswd:
print('两次输入的密码不一致')
else:
print('恭喜,注册成功!')
# users.setdefault(username,passwd)
users[username]=passwd
break
else:
print('错误次数过多')
print(users)
3.元组:元组也是一个list,它和List的区别是元组里的元素无法修改
同理,循环、切片,小标取值
注:若元组里只有一个元素的话,必须在这个元素后加“,”,比如:t=(1,)
print(t.index(2)) 找到元素的下标
print(t.count(2)) 找到元素的个数
4.常用的字符串方法:
# a=' 字 符 串 \n\n\n\n\n'
# c = a.strip() #默认去掉字符串两边的空格和换行符
# c= a.lstrip() #默认去掉字符串左边的空格和换行符
# c = a.rstrip() #默认去掉字符串右边的空格
# print('c...',c)
# print('a...',a) words = 'http://www.baidu.com'
# print(words.strip('du')) #如果strip方法指定一个值的话,那么会去掉这两个值
# print(words.count('a')) #统计字符串出现的次数
#print(words.index('z')) #找下标,如果元素找不到的话,会报错
# print(words.find('z')) #找下标,如果元素找不到的话,返回-1
# print(words.replace('bai','BAI')) #替换字符串
# print(words.isdigit()) #判断字符串是否为纯数字
# print(words.startswith('http')) #判断是否以某个字符串开头
# print(words.endswith('.jpg')) #判断是否以某个字符串结尾
# print(words.upper()) #变成大写的
# print(words.lower()) #变成小写的 username = 'abcdefADS12345@#¥'
# print(username.isalpha()) #判断字符串是否全为字母
# print(username.isalnum()) #判断是否包含字母和数字,它是只要有字母或者有数字就返回true
python学习笔记(数据类型)的更多相关文章
- python学习笔记--数据类型
Life is short, You need Python! 霸气的口号! 今天我也开始学python了,毕竟不懂后端的前端不是好前端.之前有过‘世界上最好的语言’和JavaScript的学习经验. ...
- [python学习笔记] 数据类型与语法
数据类型 数值型 int 整形 没有long类型,可以代表任意大小的整数. type(1) -> int float 浮点数 也没有double类型 type(1.2) -> float ...
- Python学习笔记 - 数据类型和变量
Python中有整数和浮点数,表示方法和C语言一样 浮点数也很像,不过Python可以用单引号把字符串括起来 字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz ...
- 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学习笔记--数据类型和变量总结
1.数据类型 字符串 数字 列表 元祖 字典 2.可变不可变划分 可变:列表,字典 不可变:字符串,数字,元祖 举例:字符串,通过id查看字符串变量在内存中的地址.两次存的值不一样,这就说明了内存重新 ...
- Python学习笔记 (2.1)标准数据类型之Number(数字)
Python3中,数字分为四种——int,float,bool,complex int(整型) 和数学上的整数表示没啥区别,没有大小限制(多棒啊,不用写整数高精了),可正可负.还可表示16进制,以 0 ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
随机推荐
- Spring基础13——Spring表达式语言:SpEL
1.SpEL简介 Spring表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言.语法上类似于EL:SpEL使用#{...}作为界定符,所有在大框号中的字符都将被认为是Sp ...
- vi文本编辑器的使用
1.1.模式 编辑模式 输入模式 末行模式 1.2.常用命令 vi file 直接打开,不能修改,光标在行首 vi +n file 直接打开,不能修改,光标在第n行 vi + file 直接打开,不能 ...
- 牛客练习赛33 B tokitsukaze and RPG (类埃筛)
链接:https://ac.nowcoder.com/acm/contest/308/B 来源:牛客网 tokitsukaze and RPG 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/ ...
- Makefile中$$的使用
在linux的Makefile中,经常会见到$var和$$var的形式.下面就这两种表示方法的区别进行简单的概述. 在Makefile中的规则命令行中: $var:将Makefile中的变量var的值 ...
- luoguP1445 [Violet]樱花
链接P1445 [Violet]樱花 求方程 \(\frac {1}{X}+\frac {1}{Y}=\frac {1}{N!}\) 的正整数解的组数,其中\(N≤10^6\),模\(10^9+7\) ...
- bzoj2959: 长跑 LCT+并查集+边双联通
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=2959 题解 调了半天,终于调完了. 显然题目要求是求出目前从 \(A\) 到 \(B\) 的可 ...
- Store generated project files externally
最近项目要从.net转java了,之前java语言就就用过,本着熟悉回顾的想法,决定自己用maven搭建一个基础的ssm框架,一些搭建完毕,程序也能正常运行了.最后对比了别人搭建好的源码,发现他们im ...
- DUBBO原理、应用与面经总结
研读dubbo源码已经有一段时间了,dubbo中有非常多优秀的设计模式和示例代码值得学习,但是dubbo的调用层级和方法链都较为繁杂,如果不对源码思路进行梳理则很容易忘却,因此总结一篇研读心得,从阅读 ...
- 【LOJ#6036】[雅礼集训2017Day4]编码
传送门 题意简述 判定 n 个含 ? 字符的二进制串是否存在一种把 0/1 填入 ? 中的方案使得任意两个串不具有前缀关系. (一个串最多一个 ?) Sol 二进制串 ,并且一个串最多一个 '?' 很 ...
- 【leetcode】1128. Number of Equivalent Domino Pairs
题目如下: Given a list of dominoes, dominoes[i] = [a, b] is equivalent to dominoes[j] = [c, d] if and on ...