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多年前,孟德斯鸠在变法的时候说过,一切拥有权力的人都容易被滥用权力,这是万古不变的一条经验.但是呢,凡是拥有大权利的 ...
随机推荐
- S2 深入.NET和C#编程 三:使用集合组织相关数据
三:使用集合组织相关数据 集合概念: ArrayList:非常类似于数组,也有人称他为数组的列表.ArrayList可以动态维护,数组的容量是固定的 和数组类似,ArrayList中存储的是数据成为元 ...
- 走进Vue时代进阶篇(01):重构电商购物车模块
前言 从这篇文章开始,我准备给大家分享一些关于Vue.js这门框架的技巧性系列文章,正好我们公司项目中也用到了Vue.所以,教是最好的学.进阶篇比较适合于二三线城市,还在小厂打拼的童鞋们.欢迎你们跟着 ...
- 通过pyenv和virtualenv创建多版本Python虚拟环境
虚拟环境使用第三方工具virtualenv创建,首先输入以下命令检查系统是否已经安装virtualenv. $ virtualenv --version 如果显示virtualenv版本号,则说明已经 ...
- SEO之网站关键词的优化 :首页,内页关键字,长尾关键字
这篇文章主要讲的是SEO之网站关键词的优化 :首页,内页关键字,长尾关键字. 为了查找方便,小A汇总了所有SEO优化的相关教程,方便大家查找到自己想要的SEO优化技巧: SEO优化教程汇总. 网站关键 ...
- python-集合内置函数详解
集合(S).方法名 等价符号 方法说明 s.issubset(t) s<=t 子集测试(允许不严格意义上的子集):s中所有的元素都是t的成员 s<t 子集测试(严格意义上的子集 ...
- Python模块学习------ 多线程threading(2)
一.避免使用thread模块,使用threading模块的原因: 1. 更高级别的threading模块更为先进,对线程的支持更加完善.而且使用thread模块的属性有可能会与threading 出现 ...
- C函数原理
C语言作为面向过程的语言,函数是其中最重要的部分,同时函数也是C种的一个难点,这篇文章希望通过汇编的方式说明函数的实现原理. 栈结构与相关的寄存器 在计算中,栈是十分重要的一种数据结构,同时也是CPU ...
- Jerry的ABAP, Java和JavaScript乱炖
写这个系列的初衷是SAP Chengdu office有越来越多的应届毕业生加入,这些新同事通过在大学的专业学习,具备了Java和JavaScript背景,但是进入SAP之后大家觉得ABAP没有Jav ...
- Oracle之 11gR2 RAC 修改监听器端口号的步骤
Oracle 11gR2 RAC 修改监听器端口号的步骤 说明:192.168.188.181 为public ip1192.168.188.182 为public ip2192.168.188.18 ...
- 魔方 NewLife.Cube
魔方 是一个基于 ASP.NET MVC 的 用户权限管理平台,可作为各种信息管理系统的基础框架. 演示:http://cube.newlifex.com 源码 演示账号:admin/admin 源码 ...