Python基础之字符串,布尔值,整数,列表,元组,字典,集合
一.str字符串
1.capitalize字符串首字母大写
name = "json"
v = name.capitalize()
print(v)
# 输出结果:
Json
2.casefold将所有大写变小写
name = "JsoN"
v = name.casefold()
print(v)
# 输出结果:
json
3. lower将所有大小写变小写
name = "JsoN"
v = name.lower()
print(v)
# 输出结果
json
4.center文本居中
# 参数1:表示总长度
# 参数2:空白处填充的字符(长度为1)
name = "json"
v1 = name.center(20)
print(v1)
# 输出结果
json
v2 = name.center(20, "*")
print(v2)
# 输出结果
********json********
5.count表示传入值在字符串中出现的次数
# 参数1: 要查找的值(子序列)
# 参数2: 起始位置(索引)
# 参数3: 结束位置(索引)
name = "asjijoiashashhhashhol"
v = name.count("h") # 查找h出现的次数
print(v)
v = name.count("as") # 查找as出现的次数
print(v)
v = name.count("as", 12) # 查找索引12之后的所有as出现的次数
print(v)
v = name.count("as", 0, 12) # 查找索引0-12之间as出现的次数
print(v)
6.endwish是否以"on"结尾,是返回True,否返回False
name = "json"
v = name.endswith("on")
print(v)
# 返回结果 True
7.startswith是否以"js"开头,是返回True,否返回False
name = "json"
v = name.startswith("js")
print(v) # 返回结果 True
8.expandtabs找到制表符\t,进行替换默认是空格(包括前边的值)
name = "js\ts\tn\njson\tuu\tkkk"
v = name.expandtabs(20)
print(v)
# 输出结果
js s n
json uu kkk
9.find找到指定子序列的索引位置:存在返回索引,不存在返回-1
name = "json"
v = name.find("0")
print(v) # 输出结果 2
v = name.index("o")
print(v) # 输出结果 -1
10.字符串格式化
tal = "我是:%s;年龄:%s;性别:%s"
# 方法一
tpl = "我是:{0};年龄:{1};性别:{2}"
v = tpl.format("json", 20, "男")
print(v)
# 方法二
tpl = "我是:{name};年龄:{age};性别:{gender}"
v = tpl.format(name="json", age=20, gender="男")
print(v)
# 方法三
tpl = "我是:{name};年龄:{age};性别:{gender}"
v = tpl.format_map({"name":"json", "age":"20", "gender": "男"})
print(v)
# 输出结果 我是:json;年龄:20;性别:男
11.isalnum判断是否包含数字,汉字。isalpha是否只是字母组成。是返回True,否返回False
name = "json88汉字"
v = name.isalnum()
print(v) #返回结果 True
v2 = name.isalpha()
print(v2) #返回结果 False
12.判断是否是数字,是返回True,否返回False
num = "123②二"
v1 = num.isdecimal()
v2 = num.isdigit() # 可以识别"123","②"
v3 = num.isnumeric() # 可以识别"123","②","二"
print(v1, v2, v3)
13.isidentifier是否是表示符
n = "name"
v = n.isidentifier()
print(v) # 返回结果 True
14.判断是否是小写和大写
name = "JSON"
v1 = name.islower() # 返回结果 False
v2 = name.isupper() # 返回结果 True
print(v1, v2)
15.upper全部变为大写
name = "Josn"
v = name.upper()
print(v) # 输出结果 JSON
16.isprintable是否包含可打印字符
name = "钓鱼就要钓刀鱼,\n刀鱼就要岛上钓\t"
v = name.isprintable()
print(v) # 返回结果 False
17.isspace判断是否全部是空格
name = " "
v = name.isspace()
print(v) # 返回结果True
18.元素拼接
name = "json"
v = "_".join(name)
print(v) # 输出结果 j_s_o_n
# 列表中的元素进行拼接
name_list = ["小明", "小红", "小兰"]
v = "和".join(name_list)
print(v) #输出结果 小明和小红和小兰
19.填充
name = "json"
v1 = name.center(20, "*") # 居中填充
v2 = name.rjust(20, "*") #右填充
v3 = name.ljust(20, "*") #左填充
print(v1, v2, v3)
20.对应关系+翻译
m = str.maketrans("json", "1234") #对应关系
name = "jdahdhudqwdgyqwgdyqwjson"
v = name.translate(m) #将对应关系翻译出来
print(v) # 输出结果 1dahdhudqwdgyqwgdyqw1234
21.分割保留分割元素
name = "小明and小红and小花"
v = name.replace("and", "love") # 替换全部
print(v) 输出结果 小明love小红love小花
v2 = name.replace("and", "love", 1) #只替换索引1
print(v2) 输出结果 小明love小红and小花
22.strip移除空白,\n,\t自定义
name = "json\t\n"
v = name.strip() # 白,\n,\t
print(v) # 输出结果 json
23.swapcase大小写转换
name = "Json"
v = name.swapcase() # 把大写转为小写,把小写转为大写
print(v) # 输出结果 jSON
24.填充
name = "json"
v = name.zfill(20) #填充20个0
print(v) # 输出结果 0000000000000000json
25.索引
name = "json"
name[0]
name[0:3]
name[0:3:2] # 从0-3间隔是2
26.转换成字节
name = "李永乐"
v1 = name.encode(encoding = 'utf-8')
print(v1) #输出结果 b'\xe6\x9d\x8e\xe6\xb0\xb8\xe4\xb9\x90'
v2 = name.encode(encoding = 'gbk')
print(v2) #输出结果 b'\xc0\xee\xd3\xc0\xc0\xd6'
二.int整数类型
1.当前整数的二进制表示,最少位数
age = 4
print(age.bit_length())
2.获取当前数据的字节表示
age = 18
v1 = age.to_bytes(10, byteorder="big")
v2 = age.to_bytes(10,byteorder="little")
print(v1, v2)
三.bool布尔值
1.正确返回True
2.错误返回False
四.列表
1.append追加
user_list = ["小明", "小红", "小兰", "小花"]
user_list.append("小龙")
print(user_list)
2.clear清空列表
user_list = ["小明", "小红", "小兰", "小花"]
user_list.clear()
print(user_list)
3.copy浅拷贝
user_list = ["小明", "小红", "小兰", "小花"]
user_list.clear()
print(user_list)
4.count计数
user_list = ["小明", "小红", "小兰", "小花", "小花"]
v = user_list.count("小花")
print(v)
5.extend扩展原表
user_list = ["小明", "小红", "小兰", "小花", "小花"]
user_list.extend(["周杰伦", "黄晓明"])
print(user_list) #输出结果:['小明', '小红', '小兰', '小花', '小花', '周杰伦', '黄晓明']
6.index查找元素索引,没有报错
user_list = ["小明", "小红", "小兰", "小花", "小花"]
v = user_list.index("小明")
print(v)
7.pop删除并获取元素
user_list = ["小明", "小红", "小兰", "小花", "小花"]
v = user_list.pop(1)
print(v) # 输出结果:小红
print(user_list) # 输出结果:['小明', '小兰', '小花', '小花']
8.remove删除值
user_list = ["小明", "小红", "小兰", "小花", "小花"]
user_list.remove("小红")
print(user_list) #输出结果:['小明', '小兰', '小花', '小花']
9.reverse翻转
user_list = ["小明", "小红", "小兰", "小花"]
user_list.reverse()
print(user_list) # 输出结果:['小花', '小兰', '小红', '小明']
10.排序
number = [22, 2, 33, 4, 0]
number.sort() # 从小到大
print(number)
number.sort(reverse=True) # 从大到小
print(number)
11.索引
user_list = ['李泉', '刘一', '李泉', '刘康', '豆豆', '小龙']
# 根据索引取值
print(user_list[0]) # 李泉
print(user_list[1:5:2]) # ['刘一', '刘康']
# 根据索引删除列表元素
del user_list[3]
五.range,enumrate的应用
range的应用
1.range在python2x与3x的区别
2.7: 立即生成所有数字
3.x: 不会立即生成,只有循环迭代时,才一个一个生成
2.range: 三个参数
li = ['eric', 'alex', 'tony']
# range,len,li循环
for i in range(0, len(li)):
ele = li[i]
print(ele)
enumerate的应用
1.额外生成一列有序的数字
# /user/bin/python
# -*- coding:utf-8 -*-
li = ['eric', 'alex', 'tony']
for i, ele in enumerate(li, 1):
print(i, ele)
'''
输出结果是:
1 eric
2 alex
3 tony
'''
六.元组
1.获取个数
# /user/bin/python
# -*- coding:utf-8 -*-
user_tuple = ('alex', 'eric', 'seven', 'alex')
v = user_tuple.count('alex')
print(v)
'''
输出结果是:
2
'''
2.获取值的第一个索引位置
# /user/bin/python
# -*- coding:utf-8 -*-
user_tuple = ('alex', 'eric', 'seven', 'alex')
v = user_tuple.index('alex')
print(v)
'''
输出结果是:
0
'''
3.遍历元组
# /user/bin/python
# -*- coding:utf-8 -*-
user_tuple = ('alex', 'eric', 'seven', 'alex')
for i in user_tuple:
print(i)
'''
输出结果是:
alex
eric
seven
alex
'''
4.元组嵌套列表
# /user/bin/python
# -*- coding:utf-8 -*-
user_tuple = ('alex', 'eric', 'seven', ['陈涛', '刘浩', '赵芬芬'], 'alex')
user_tuple[3][1] = '刘一'
print(user_tuple)
'''
输出结果是:
('alex', 'eric', 'seven', ['陈涛', '刘一', '赵芬芬'], 'alex')
'''
5.元组最后,加逗号
li = ('alex',)
七.字典
1. 清空
dic = {'k1':'v1','k2':'v2'}
dic.clear()
print(dic)
'''
输出结果是:
{}
'''
2.浅拷贝
# /user/bin/python
# -*- coding:utf-8 -*-
dic = {'k1': 'v1', 'k2': 'v2'}
v = dic.copy()
print(v)
'''
输出结果是:
{'k1': 'v1', 'k2': 'v2'}
'''
3.根据key获取指定的value
# /user/bin/python
# -*- coding:utf-8 -*-
dic = {'k1': 'v1', 'k2': 'v2'}
v = dic.get('k1')
print(v)
v = dic['k2']
print(v)
'''
输出结果是:
v1
v2
'''
4.删除并获取对应的value值
# /user/bin/python
# -*- coding:utf-8 -*-
dic = {'k1': 'v1', 'k2': 'v2'}
v = dic.pop('k1')
print(dic)
print(v)
'''
输出结果是:
{'k2': 'v2'}
v1
'''
5.随机删除键值对,并获取到删除的键值
# /user/bin/python
# -*- coding:utf-8 -*-
dic = {'k1': 'v1', 'k2': 'v2'}
v = dic.popitem()
print(dic)
print(v)
'''
输出结果是:
{'k2': 'v2'}
('k1', 'v1')
'''
6.增加,如果存在则不做操作
# /user/bin/python
# -*- coding:utf-8 -*-
dic = {'k1': 'v1', 'k2': 'v2'}
dic.setdefault('k3', 'v3')
print(dic)
dic.setdefault('k1', '1111111')
print(dic)
'''
输出结果是:
{'k2': 'v2', 'k3': 'v3', 'k1': 'v1'}
{'k2': 'v2', 'k3': 'v3', 'k1': 'v1'}
'''
7.批量增加或修改
# /user/bin/python
# -*- coding:utf-8 -*-
dic = {'k1': 'v1', 'k2': 'v2'}
dic.update({'k3': 'v3', 'k1': 'v24'})
print(dic)
'''
输出结果是:
{'k2': 'v2', 'k1': 'v24', 'k3': 'v3'}
'''
8.字典可以嵌套,但是key: 必须是不可变类型
# /user/bin/python
# -*- coding:utf-8 -*-
dic = {
'k1': 'v1',
'k2': [1, 2, 3,],
(1, 2): 'lllll',
1: 'fffffffff',
111: 'asdf',
}
print(dic)
'''
输出结果是:
{'k1': 'v1', 'k2': [1, 2, 3], (1, 2): 'lllll', 111: 'asdf', 1: 'fffffffff'}
'''
八.集合,不可重复的列表
1.s1中存在,s2中不存在
# /user/bin/python
# -*- coding:utf-8 -*-
s1 = {"alex", 'eric', 'tony', '李泉', '李泉11'}
s2 = {"alex", 'eric', 'tony', '刘一'}
v = s1.difference(s2)
print(v)
# s1中存在,s2中不存在,然后对s1清空,然后在重新复制
s1.difference_update(s2)
print(s1)
'''
输出结果是:
{'李泉', '李泉11'}
{'李泉', '李泉11'}
'''
2.s2中存在,s1中不存在
# /user/bin/python
# -*- coding:utf-8 -*-
s1 = {"alex", 'eric', 'tony', '李泉', '李泉11'}
s2 = {"alex", 'eric', 'tony', '刘一'}
v = s2.difference(s1)
print(v)
'''
输出结果是:
{'刘一'}
'''
3.s1中存在,s2中不存在
# /user/bin/python
# -*- coding:utf-8 -*-
s1 = {"alex", 'eric', 'tony', '李泉', '李泉11'}
s2 = {"alex", 'eric', 'tony', '刘一'}
v = s1.difference(s2)
print(v)
'''
输出结果是:
{'李泉11', '李泉'}
'''
4.交集
# /user/bin/python
# -*- coding:utf-8 -*-
s1 = {"alex", 'eric', 'tony', '李泉', '李泉11'}
s2 = {"alex", 'eric', 'tony', '刘一'}
v = s1.intersection(s2)
print(v)
'''
输出结果是:
{'tony', 'alex', 'eric'}
'''
5.并集
# /user/bin/python
# -*- coding:utf-8 -*-
s1 = {"alex", 'eric', 'tony', '李泉', '李泉11'}
s2 = {"alex", 'eric', 'tony', '刘一'}
v = s1.union(s2)
print(v)
'''
输出结果是:
{'eric', '李泉', '刘一', 'alex', 'tony', '李泉11'}
'''
6.移除
# /user/bin/python
# -*- coding:utf-8 -*-
s1 = {"alex", 'eric', 'tony', '李泉', '李泉11'}
s2 = {"alex", 'eric', 'tony', '刘一'}
s1.discard('alex')
print(s1)
'''
输出结果是:
{'eric', '李泉11', 'tony', '李泉'}
'''
7.遍历
# /user/bin/python
# -*- coding:utf-8 -*-
s1 = {"alex", 'eric', 'tony', '李泉', '李泉11'}
for i in s1:
print(i)
'''
输出结果是:
tony
alex
eric
李泉11
李泉
'''
# /user/bin/python
# -*- coding:utf-8 -*-
s1 = {"alex", 'eric', 'tony', '李泉', '李泉11', (11, 22, 33)}
for i in s1:
print(i)
'''
输出结果是:
李泉
(11, 22, 33)
eric
李泉11
tony
alex
'''
Python基础之字符串,布尔值,整数,列表,元组,字典,集合的更多相关文章
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- python_列表——元组——字典——集合
列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- Python入门基础学习(列表/元组/字典/集合)
Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...
- Python基础 整形、布尔值、if条件判断、while循环、运算符、格式化输出
1,计算机基础.2,python历史. 宏观上:python2 与 python3 区别: python2 源码不标准,混乱,重复代码太多, python3 统一 标准,去除重复代码.3,python ...
- python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)
列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...
- Python基础、判断、循环、列表、字典,day1
一.Python 简介 1.介绍 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标 ...
- python基础之序列类型的方法——列表&元组
Hello大家好,我是python学习者小杨同学,上次跟大家分享关于python的数值类型和序列类型,本次就承接上一节的内容,说一说序列类型的方法. 序列类型的方法,简单的来说就是四个字:增删改查.随 ...
- Python列表,元组,字典,集合详细操作
菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...
随机推荐
- Linux--NiaoGe-Service-06
Linux网络排错 思路: 硬件问题: 首先排除硬件故障,包括网线.Hub.Switch.Router.网卡.设备配置规则等等. 软件问题: 1.网卡的IP/Netmask设置错误 IP.Netmas ...
- MongoDB内置文档查看和修改
MongoDB设计的时候,有时候会设计内置文档,方便某个对象的统一.在这里略写了查看内置文档和更新内置文档. 1.查看 表为:realtimelogin realName为:123 realpa ...
- mysql 定时任务和存储过程
mysql 定时任务和存储过程 最近在做日志系统,中间用到了 mysql, 其中有一个要求: 把数据库中 7天之后的日志清除了.看到 mysql 也支持 定时任务.于是就用 mysql 来做了.下面就 ...
- 理解C#系列 / 前言
前言 索引 写什么? 为什么写? 怎么写? 写什么? 写和C#编程相关的知识. 写知识的定义,附加对知识的理解. 写知识的作用,使用的场景,使用的条件. 写知识的本质,技术的结构,工作的原理. 写知识 ...
- springCloud当中Eureca sever当中Camden到底是什么?
[学习笔记] 做个普通的maven project,quickstart archetype.改成jdk.8.下面Camden.SR1是版本名,springcloud的版本名称很奇特,它是按照伦敦地铁 ...
- jQuery1.6.1源码分析系列(作者:nuysoft/高云)
作者:nuysoft/高云 QQ:47214707 Email:nuysoft@gmail.com jQuery源码分析(版本1.6.1) 00 前言开光 01 总体架构 02 正则表达式-RegEx ...
- WIN32项目中MFC程序窗口居中
//class CMainWindow : public CFrameWnd void CMainWindow::OnSize(UINT nType, int cx, int cy){ CFra ...
- NF!=1
NF表示列数,不等于1表示列数不为1列
- 对InitialContext的理解
类InitialContext java.lang.Object javax.naming.InitialContext 此类是执行命名操作的初始上下文. 所有命名操作都相对于某一上下文. ...
- Java poi 的使用
poi可操作老旧版本的excel 下载jar包,http://archive.apache.org/dist/poi/release/bin/poi-bin-3.17-20170915.tar.gz ...