Python入门(二)列表、字典、字符串、元组、集合

列表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()   L.sort(reverse = True)倒序排序

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

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

 

多元数组列表索引方法


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'] = '辰毒秀'

d2['age']= 18

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

print(d3)>>>

{'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}

 

posted @ 2019-04-02 13:52  辰毒秀  阅读(325)  评论(0编辑  收藏  举报