列表list
什么是列表:Python内置的一种数据类型是列表,list是一种有序的集合,可以随时添加和删除其中的元素

创建List列表的方法

L = ['杨俊辰',‘啦啦啦’,'Tom']

empty_list = [] :空列表

List列表索引

L = ['Tom','Lucy','Jack']

0 1 2

索引元素‘Lucy’:print L[1]

倒序索引元素jack:print[-1]

List列表编辑操作

在list末尾添加一个元素:

L = ['Tom','Lucy','Jack']

L.append('辰毒秀')

print(L)>>Tom,Lucy,Jack,辰毒秀

在指定位置添加一个元素:

L = ['Tom','Lucy','Jack']

L.insert(0,'辰毒秀')

print(L)>>辰毒秀,Tom,Lucy,Jack

删除list中的元素:

L = ['Tom','Lucy','Jack']

L.pop(0)<<<删除制定位置元素 或者 del L[0]

L.remove('Lucy')<<<删除制定的元素(注:如果list里面有多个一样的元素,那么只会删除一个;如果删除的元素不存在会报错)

print(L)>>Tom

修改list中的元素:

L = ['Tom','Lucy','Jack']

L[0] = '辰毒秀'

print(L)>>辰毒秀,Lucy,Jack

某个元素在列表里的数量:

L = ['辰毒秀','Lucy','Jack']

count = L.count('辰毒秀')

print(count)>>>1

清空列表:L.clear()

复制列表:new_L = L.copy()

反转列表:L.reverse()

列表排序:L.sort()

把一个list(L2)合并到另一个list(L1):L1.extend(L2)

查询某个元素的下标:index('辰毒秀')

多元数组列表索引方法

d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
L = [1,2,3,['a','b',[1,2,3]]]

print(L[3][2][1])>>>2

字典dict

名字称为key,对应的成绩称为value,dict就是通过 key 来查找 value。

eg:

d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}

d1 = {}<<<空字典>>>d2 = dict()

字典操作

增加字典元素:

d1['name'] = '辰毒秀'

d1['age']= 18

d1.setdefault('class','双子座')#key如果存在,不会修改原来的值

print(d1)>>>

{'name'='辰毒秀','age'=18,'class'='双子座'}

修改字典元素:

d1['name']='妍酱'

字典取值:

print(d1['name'])#若key不存在,返回key error

print(d1.get['name'])#若key不存在,返回None

print(d1.keys())#取到字典里所有的key

print(d1.values())#取到字典里所有的value

删除字典元素:

d1.pop('name')

popitem()>>>随机删除一个key

清空字典:d1.clear()

把一个字典加到另一个字典:d1.update(d2)

同时输出key和value的方法

for k,v in users.items()

print('%s ===>%s'%(k,v))

字符串

strip

s.strip():去除空格#只能去掉两边的空格和换行符(\n)

s.lstrip():去掉左边的空格

s.rshtrip():去掉右边的空格

count

s.count('c'):统计一个元素在字符串/列表里面出现的次数

index

s.index('a'):找下标#如果元素不存在那么报错

find

s.find('a'):找下标#如果元素不存在那么返回-1

capitalize

s.capitalize():首字母大写

upper、lower

s.upper():全部变成大写

s.lower():全部变成小写

replace

s.replace('被替换','替换'):替换原来字符串

endwith、startwith

'ad.xls'.endswith('xls'):判断是不是以**结尾的#返回值:True&False

'abc'.startswith('a'):判断是不是以**开头的#返回值:True&False

isspace:是否为空格

isupper:是否为大写

islower:是否为小写

isalnum:没有特殊符号就返回True

isalpha:没有数字、特殊符号返回True

isdigit:判断是否为整数

'111'.zifill(5)>>>00111:字符串长度不够自动补零

format:占位格式化

username='abc'

today = '星期一'

s2 = '欢迎{},今天是{}.'

print(s2.format(username,today))

format_map:只能传字典

s2.format_map({'username':'abc',

'phone':12345})

split:按照某个字符串分割,把分割后的元素放在一个list里

#如果指定的字符串不存在,那么就把整个字符串放到list里面

users = 'a,b,c'

result = users.split(',')

print(result)

>>['a','b','c']

join:把list变为字符串

Li=[a,b,c]

print('+'.join(Li))

>>a+b+c

字符串格式化

username = '小黑'

s = '欢迎%s'%username

%s:可以为任何类型

%d:必须为整数

%f:必须为小数     #%.2f(保留两位小数)

元组tuple

tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。

t = ('Adam', 'Lisa', 'Bart')

t.index():找小标

t.count():有几个元素

改变元组的情况:

t = ('a', 'b', ['A', 'B'])

L=t[2]

L[0]='x'

print t

集合set

set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的

s = set(['A', 'B', 'C'])

s= {1,2,3,4}

取交集

s1 = {1,2,3,4,5}

s2 = {3,4,5,6,7}

print(s1.intersection(s2)) 或者 s1 & s2

>>>{3,4,5}

※非空即真,非零即真

要求:必须包括大写字母、小写字母、数字、特殊字符

import string

password = input("请输入密码:").strip()

if password:

  print('输入不为空')

else:

  print('密码不能为空')

p_set = set(password)

if p_set.intersection(set(string.ascii_uppercase)) and p_set.intersection(set(string.ascii_lowercase)) and  p_set.intersection(set(string.digits)) and  p_set.intersection(set(string.punctuation))

  print ('密码合法')

string.ascii_uppercase:大写

string.ascii_lowercase:小写

string.digits:整数

string.punctuation:特殊字符

取并集

s1 = {1,2}

s2 = {3,4}

print(s1.union(s2)) 或者 s1 | s2

>>>{1,2,3,4}

Python入门(二)列表、字典、字符串、元组、集合的更多相关文章

  1. Swift语法基础入门二(数组, 字典, 字符串)

    Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...

  2. python入门(9)字符串和编码

    python入门(9)字符串和编码 字符串是一种数据类型,比较特殊的是字符串有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理. 最早的计算机在设计时采用8个比 ...

  3. Python学习---列表/元组/字典/字符串/set集合/深浅拷贝1207【all】

    1.列表 2.元组 3.字典 4.字符串 5.set集合 6.深浅拷贝

  4. Day2 - Python基础2 列表、字符串、字典、集合、文件、字符编码

    本节内容 列表.元组操作 数字操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 ...

  5. 大爽Python入门教程 2-2 序列: 字符串、元组与列表

    大爽Python入门公开课教案 点击查看教程总目录 序列 序列(sequence): 顾名思义,有序的排列. 有序排列的一串数据. 一种容器,容器内成员有序排列. python的字符串str,元组tu ...

  6. python 数据类型二 (列表和元组)

    一.列表 1.1 列表的介绍 列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类 ...

  7. python入门及数字、字符串类型

    目录 python开发框架 开发 1. 开发语言 2. 语言比对 3. python安装 4. Python开发IDE:pycharm ,eclipse python入门 1. 第一句Python 2 ...

  8. Python入门笔记(10):字典

    一.映射类型 我理解中的映射类型是:键值对的关系,键(key)映射值(value),且它们是一对多的关系.字典是Python唯一的映射类型. 扩展1:哈希表一种数据结构,值是根据相关的键进行数据存储的 ...

  9. Python基础学习三 字典、元组

    一.元组 元组,提示别人,这个值是不能被改变的,元组的定义方式是用(),小括号: 元组只有两个方法,那就是count和index mysql1 = ('127.0.0.1',3306,'my','ro ...

  10. 第二周Python笔记 数据类型 列表 字典

    列表,拉锁式儿合并. [ [a,b] for a,b in zip(list1,list2)] #最笨的 a=[1,2,3,4,5] b=[2,3,4,5,6] d=[] for i in range ...

随机推荐

  1. [linux系统]XFS (vda3):Corruption detected.Unmount and run xfs_repair 简单解决办法

    今天kvm的centos系统,rm -rf时报错,具体如下: rm: cannot remove ‘log-0/case1/log_net’: Input/output errorrm: cannot ...

  2. 使用MyEclipse新建maven项目时报An internal error occurred during: "Retrieving archetypes:". GC overhead limit

    前几天在上手maven时,遇到了一个十分头疼的问题,我的myeclipse配置的是自己安装的插件 ,总是报 " An internal error occurred during: &quo ...

  3. Git使用之pull request

    一直对git的使用都不熟,由于工作需要经常需要在github上pull request,第一次还是有些麻烦的,写个笔记记录下 1. fork源项目到自己的github仓库中 fork之后自己也会多出一 ...

  4. 浅谈Linux文件与目录权限

    作为一个程序员,在工作的过程中或多或少都会接触都Linux,那么对于权限这块肯定有所了解,今天有空想谈谈觉得比较绕的权限问题,即文件权限与目录权限 1.文件权限,对于文件权限这个是比较简单的,也很容易 ...

  5. 比NGINX更快:nginx-1.15.5 vs mongols-1.2.3

    nginx是多进程web服务器的优秀代表. 本文要用mongols-1.2.3实现一个比nginx更快的多进程的web服务器. mongols是C++ 服务器基础设施库, 它的主要特性如下: tcp ...

  6. jQuery常见用法

    jQuery有好多版本本,无法同时引用两个不同的版本,容易造成混乱,用哪一个,调用哪一个.\ jQuery引用到<head></head>中,页面加载时就需要特效调用这些方法. ...

  7. Python中__init__()和self的有啥用

    这篇博客让我一下子就理解了,https://www.cnblogs.com/illusion1010/p/9527034.html,感谢博主 由于类可以起到模板的作用,因此,可以在创建实例的时候,把一 ...

  8. Java基础总结1

    数据类型: byte    1字节 short   2字节 int        4字节 long     8字节 float     4字节 double   8字节 char       2字节 ...

  9. sourceTree 代码未同步合并

    在同一个分支下,提交代码会有代码合并情形. 1.未同步代码前,提交代码 2.提交报错 3. 拉取未同步的提交代码 4.点击提交到暂存区, 5. 暂存区变成2条,再点击推送. 6.sourceTree ...

  10. 安装mysql5.6

    1.创建一个不能登录的的用户: 2.下载一个数据库包: wget 下载网址 3.安装相关依赖包: yum -y install make gcc-c++ cmake bison-devel ncurs ...