Python3 的元组
元组(tuple):戴上了枷锁的列表
元组与列表非常相似但是元组内元素的类型相同,且元组内的元素不能修改
1、创建元组的方法
与列表不同创建元组大部分情况下是用小括号,例如
tuple1=(1,2,3)
>>> tuple1
(1, 2, 3)
也可以不用小括号,例如
tuple1=1,2,3
>>> tuple1
(1, 2, 3)
因此创建元组的关键在于“逗号”,在创建单个元素的元组时应注意:
tuple1=(1)
tuple2=(1,)
>>> type(tuple1)
<class 'int'>
>>> type(tuple2)
<class 'tuple'>
>>> 8*8,
(64,)
>>> 8*(8,)
(8, 8, 8, 8, 8, 8, 8, 8)
>>> 8*(8)
64
由以上例子可见创建一个元素的元组时要在元素后加一个逗号
2、更新和删除一个元组的方法
由于元组是不可变的所以更新和删除元组中的元素都是用元组分片的方法
tuple1=('迪丽热巴','鹿晗','关晓彤','大黑牛','邓超')
#我要删除关晓彤
tuple1=tuple1[:2]+tuple1[3:]
>>> tuple1
('迪丽热巴', '鹿晗', '大黑牛', '邓超')
#-----------------------------------------------------
tuple1=('迪丽热巴','鹿晗','关晓彤','大黑牛','邓超')
#我要删除关晓彤
tuple1=tuple1[:2]+tuple1[3:]
#我要加上范冰冰
tuple1=tuple1[:2]+('范冰冰',)+tuple1[2:]
>>> tuple1
('迪丽热巴', '鹿晗', '范冰冰', '大黑牛', '邓超')
3、相关的操作符
于列表一样,元组有拼接操作符、重复操作符、关系操作符、成员操作符、逻辑操作符
4、字符串
1)字符串和元组非常相似可以进行切片 操作,也可以使用索引来访问单个字符
str1="I love You" #分片操作
str1=str1[:5]
>>> str1
'I lov'
#索引
str2=str1[0]
>>> str2
'I'
2)字符串的更新与删除跟元组一样是用切片的方法
str1="I love You" str1=str1[:5] +"love"+str1[6:]#新字符串
3)与字符串相关的操作符与元组一样
拼接操作符、重复操作符、关系操作符、成员操作符、逻辑操作符
4)字符串的内置方法
|
capitalize() |
把字符串的第一个字符改为大写 |
|
casefold() |
把整个字符串的所有字符改为小写 |
|
center(width) |
将字符串居中,并使用空格填充至长度 width 的新字符串 |
|
count(sub[, start[, end]]) |
返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。 |
|
encode(encoding='utf-8', errors='strict') |
以 encoding 指定的编码格式对字符串进行编码。 |
|
endswith(sub[, start[, end]]) |
检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。 |
|
expandtabs([tabsize=8]) |
把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。 |
|
find(sub[, start[, end]]) |
检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。 |
|
index(sub[, start[, end]]) |
跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。 |
|
isalnum() |
如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。 |
|
isalpha() |
如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。 |
|
isdecimal() |
如果字符串只包含十进制数字则返回 True,否则返回 False。 |
|
isdigit() |
如果字符串只包含数字则返回 True,否则返回 False。 |
|
islower() |
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False。 |
|
isnumeric() |
如果字符串中只包含数字字符,则返回 True,否则返回 False。 |
|
isspace() |
如果字符串中只包含空格,则返回 True,否则返回 False。 |
|
istitle() |
如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。 |
|
isupper() |
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。 |
|
join(sub) |
以字符串作为分隔符,插入到 sub 中所有的字符之间。 |
|
ljust(width) |
返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。 |
|
lower() |
转换字符串中所有大写字符为小写。 |
|
lstrip() |
去掉字符串左边的所有空格 |
|
partition(sub) |
找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 ('原字符串', '', '') |
|
replace(old, new[, count]) |
把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。 |
|
rfind(sub[, start[, end]]) |
类似于 find() 方法,不过是从右边开始查找。 |
|
rindex(sub[, start[, end]]) |
类似于 index() 方法,不过是从右边开始。 |
|
rjust(width) |
返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。 |
|
rpartition(sub) |
类似于 partition() 方法,不过是从右边开始查找。 |
|
rstrip() |
删除字符串末尾的空格。 |
|
split(sep=None, maxsplit=-1) |
不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。 |
|
splitlines(([keepends])) |
按照 '\n' 分隔,返回一个包含各行作为元素的列表,如果 keepends 参数指定,则返回前 keepends 行。 |
|
startswith(prefix[, start[, end]]) |
检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。 |
|
strip([chars]) |
删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。 |
|
swapcase() |
翻转字符串中的大小写。 |
|
title() |
返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。 |
|
translate(table) |
根据 table 的规则(可以由 str.maketrans('a', 'b') 定制)转换字符串中的字符。 |
|
upper() |
转换字符串中的所有小写字符为大写。 |
|
zfill(width) |
返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。 |
5)密码强度检测
# 密码安全性检查代码
#
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
#
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
#
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位 symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '' passwd = input('请输入需要检查的密码组合:') # 判断长度
length = len(passwd) while (passwd.isspace() or length == 0) :
passwd = input("您输入的密码为空(或空格),请重新输入:")
length = len(passwd) if length <= 8:
flag_len = 1
elif 8 < length < 16:
flag_len = 2
else:
flag_len = 3 flag_con = 0 # 判断是否包含特殊字符
for each in passwd:
if each in symbols:
flag_con += 1
break # 判断是否包含字母
for each in passwd:
if each in chars:
flag_con += 1
break # 判断是否包含数字
for each in passwd:
if each in nums:
flag_con += 1
break # 打印结果
while 1 :
print("您的密码安全级别评定为:", end='')
if flag_len == 1 or flag_con == 1 :
print("低")
elif flag_len == 3 and flag_con == 3 and (passwd[0] in chars):
print("高")
print("请继续保持")
break
else:
print("中") print("请按以下方式提升您的密码安全级别:\n\
\t1. 密码必须由数字、字母及特殊字符三种组合\n\
\t2. 密码只能由字母开头\n\
\t3. 密码长度不能低于16位")
break
Python3 的元组的更多相关文章
- python3.x元组打印错误 TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'
原创by南山南北秋悲 欢迎引用!请注明原地址:http://www.cnblogs.com/hwd9654/p/5676746.html 谢谢! TypeError: unsupported ope ...
- Python3 数据类型-元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 实例1(Python3.0+): tu ...
- python3:tuple元组
https://www.runoob.com/python3/python3-tuple.html 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. Py ...
- 一起入门python3之元组和数列
这一节我们来说一下,元组(tupe)&数列(list).每天苦逼的工作不易啊,哎.不过呢一腔热血学习.哈哈哈哈 #井号代表注释哈. 0x01 数列-list 数列可以说是一种集合 ...
- python3.5 元组
1.创建元祖 tup1 = ('jenkins','mysql') print(tup1) ssh://root@192.168.0.204:22/usr/bin/python -u /home/pr ...
- [Python3] 012 元组:list,我们不一样!
目录 0. 元组的独白 1. 元组的创建 2. 元组的特性 (1) 概述 (2) 少废话,上例子 1) 索引 2) 分片 3) 序列运算 4) 成员检测 3. 元组的遍历 (1) 简单总结 (2) 少 ...
- (03)-Python3之--元组(tuple)操作
1.定义 元组的关键字:tuple 元组以()括起来,数据之间用 , 隔开.元组当中的数据,可以是任意类型.数值是可以重复的. 元组元素是 不可变的,顺序是 有序的. 例如: b = ("萝 ...
- Python - 元组(tuple) 详解 及 代码
元组(tuple) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17290967 元组是存放任意元素集合,不能修 ...
- 零基础入门学习Python(13)--元组:戴上了枷锁的列表
前言 这节课我们讨论主题是元祖:我们有个小标题戴上了枷锁的列表 我们都知道早在300多年前,孟德斯鸠在变法的时候说过,一切拥有权力的人都容易被滥用权力,这是万古不变的一条经验.但是呢,凡是拥有大权利的 ...
随机推荐
- Q:同时安装了python2和python3的电脑下pip的使用
本人电脑设置的默认为python3.5的,由于需要,安装了pyhton2.7.之后需要为python2.7使用pip方式安装一个requests模块,但是,在命令行下执行pip install req ...
- jquery append 动态添加的元素绑定事件on
用jquery添加新元素很容易,面对jquery append 动态添加的元素事件on 不起作用我们该如何解决呢?on方法中要先找到原选择器(如例.info),再找到动态添加的选择器(如列.delet ...
- JavaScript的DOM编程--05--获取文本节点
获取文本节点: 1). 步骤: 元素节点 --> 获取元素节点的子节点 2). 若元素节点只有文本节点一个子节点, 例如 <li id="bj" name=" ...
- tophat安装
1 依赖软件:bowtie,bowtie2,samtools,boost c++ library 2 建立索引文件: bowtie包括bowtie,bowtie-build, ...
- grep命令及基本正则表达式
grep命令是Linux系统中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功 ...
- IOS10.3上传照片只能拍照不能选择解决办法
升级IOS10.3正式版以后可能会出现上传文件的控件只能拍照而不能选择现有图片的问题. 正好被我们碰到了,于是找了找解决思路,发现如下解决思路: 原代码为: <input type=" ...
- Tsung测试Tcp协议的应用或接口
利用Tsung模拟基于Tcp的业务流程,实属无奈.因ConnectManager部署在linux下,其中,Loadrunner的winsocket因不支持linux platform而无法使用,而Jm ...
- Python爬虫下载美女图片(不同网站不同方法)
声明:以下代码,Python版本3.6完美运行 一.思路介绍 不同的图片网站设有不同的反爬虫机制,根据具体网站采取对应的方法 1. 浏览器浏览分析地址变化规律 2. Python测试类获取网页内容,从 ...
- Spring Boot快速入门(四):使用jpa进行数据库操作
原文地址:https://lierabbit.cn/articles/5 添加依赖 新建项目选择web,JPA,MySQL三个依赖 对于已存在的项目可以在bulid.gradle加入,spring b ...
- [译]Python作为一种编程语言有多强大?
Quora上有个问题:Python作为一种编程语言有多强大? 以下是Patrycja Okowicka的回答 说实话,Python是一门强大的语言,几乎所有东西都可以用Python创建!这就是为什么它 ...