python学习列表、字典、元祖、字符串

摘要:
字典的定义:使用{},大括号;每个值用“,”分隔,键和值用“:”分隔。

一、列表

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

列表的创建:将用逗号分隔的不同数据项用方括号括起来即可

获取list元素的个数:len()

1 name = ['小白','小黑','小花','小灰'] #创建列表
2 print(name)
3 print(len(name))

python学习列表、字典、元祖、字符串第1张

1、列表方法及其基本操作

1.1 增

append():追加元素到列表末尾

insert():插入元素到列表指定位置

1 name = ['小白','小黑','小花','小灰'] #创建列表
2 
3 #
4 name.append('小黄')
5 print(name)
6 name.insert(0,'小绿')
7 print(name)

python学习列表、字典、元祖、字符串第2张

1.2 删

pop():删除列表末尾的元素,pop(i)删除指定位置的元素,i为索引位置

remove():移除列表中某个值的第一个匹配项

del 列表名[i]:删除指定位置的元素,i为索引位置

clear():清空列表中的元素

1 name = ['小白','小黑','小花','小黑','小灰'] #创建列表
2 
3 #
4 name.pop() #删除末尾元素
5 print(name)
6 name.pop(0) #删除第一个元素
7 print(name)
8 name.remove('小黑') #删除列表中值为小黑的第一个元素
9 print(name)

python学习列表、字典、元祖、字符串第3张

1 name = ['小白','小黑','小花','小灰'] #创建列表
2 
3 #
4 del name[-1] #删除指定位置的元素
5 print(name)
6 name.clear() #清空列表中的元素
7 print(name)

python学习列表、字典、元祖、字符串第4张

1.3 修改

使用索引标记为某个特定的的元素赋值

1 name = ['小白','小黑','小花','小灰'] #创建列表
2 
3 #修改
4 name[3] = '小黄'
5 print(name)
6 name[4] = '小绿' #修改的时候如果指定的下标不存在,会报错

python学习列表、字典、元祖、字符串第5张

1.4 查

index():从列表中找出某个值第一个匹配项的索引位置

count():统计某个元素在列表里出现的次数

1 name = ['小白','小黑','小花','小灰'] #创建列表
2 
3 #
4 print(name[-1]) #取值 下标为-1的时候,就取最后一个元素
5 print(name.index('小花')) #获取元素的下标,如果找不到那个元素的话,会报错
6 print(name.count('小花')) #查看元素在list里面出现了多少次

python学习列表、字典、元祖、字符串第6张

1.5 反转

reverse():反转列表,会改变原列表的值

1 name = ['小白','小黑','小花','小灰'] #创建列表
2 
3 #反转
4 name.reverse() #就是把这个list反转一下
5 print(name)

python学习列表、字典、元祖、字符串第7张

1.6 排序

sort():对列表进行排序;升序:列表名.sort();降序:列表名.sort(reverse=True)

1 nums = [9,2,34,12,34,457,2342]
2 #nums = ['b','f','e','z','g','h']
3 nums.sort() #升序
4 print(nums)
5 nums.sort(reverse=True) #排序,降序
6 print(nums)

python学习列表、字典、元祖、字符串第8张

1.7 合并列表

cities = ['北京','上海']
cities2 = ['成都','深圳','广州']
#方法一:
print(cities+cities2)     #不会改变cities,和cities2的值

#方法二:#cities.extend(cities2) #把cities2的元素加到cities中,改变了cities的值#print(cities)

python学习列表、字典、元祖、字符串第9张

python学习列表、字典、元祖、字符串第10张

python学习列表、字典、元祖、字符串第11张

1.8 切片

切片可以获取多个元素,可理解为:从第几个元素开始,到第几个元素结束,获取他们之间的值;

切片格式:列表名:[1:10],如要获取name的第一个到第五个元素, 用name[0:6],切片不包含后面那个元素的值的,顾头不顾尾

前面的下标为0时可省略写为:name[:6];

切片后面还可以写一个参数,叫做步长。即隔多少个元素取一次,默认不写时就是隔一个取一次。

切片操作也可以对字符串使用,和列表的用法一样,实例如下:

1 #切片
2 #切片是list取值的一种方式
3 nums = ['张三','李四','王某某','周大']
4         #0      1      2      3
5 
6 print(nums[1:3])  #顾头不顾尾
7 print(nums[1:]) #如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写
8 print(nums[:2]) #如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写
9 print(nums[:]) #取所有的

python学习列表、字典、元祖、字符串第12张

1 lis = list(range(1,21))
2 print(lis)
3 print(lis[::2]) #步长,隔几个取一次
4 print(lis[::-2]) #步长,隔几个取一次
5 ##如果步长是正数的话,从左往右边开始取值
6 ###如果步长是负数的话,从右边往左边开始取值
7 
8 print(lis[::-1]) #反转list
9 print(lis)
10 print(lis[1::-1])
11 
12 lis.reverse()  #改变了原来list的值
13 new_list = lis[::-1]  #产生了新的一个list,不会改变原来list的值
14 print(new_list)
15 print(lis)

python学习列表、字典、元祖、字符串第13张

1.9 多维数组

1 #多维数组
2 n = [1,2,3]  #1维数组
3 n2= [  [1,2,3] ,['haha'] ] #二维数组
4 my = [[1,2,3,4,5,6],['name','age','sex','哈哈',['小明','小黑','小白']],890] #3维数组
5 print(my[1][4][0])
6 my[1][4].append('小紫')
7 my[1][2]='性别'
8 print(my)
9 print( len(my) )  #看变量的元素个数,长度

python学习列表、字典、元祖、字符串第14张

二、元祖

元组和列表的区别:元组的值不能改变,一旦创建,就不能再改变了;只能读,无法增删改

元组的定义方式:用小括号();

元祖方法:元组只有两个方法,count和index;

1 #定义元组
2 cities = ("beijing","shanghai") #一旦定义好,就不能再变了
3 #cities[0] = "tianjing"  #元组的值不可修改,这样写会报错
1 #元素操作及方法,只能查不能增删改
2 print(cities[0])
3 print(cities.count("beijing"))
4 print(cities.index("beijing"))

python学习列表、字典、元祖、字符串第15张

三、字典

字典:dict,全称是dictionary,其他语言中也称为map,它具有极快的查找速度;

字典是一种key-value的数据类型。比如:要存每个人的信息,每个人的编号为key,value就是每个人的信息,这样一个字典就能存所有人的信息了。

字典的定义:使用{},大括号;每个值用“,”隔开,key和value使用“:”分隔。

1 #定义字典
2 info ={
3     'name':'哈哈',
4     'age':18,
5     'sex':'不知道',
6     'addr':'天通苑',
7     'qq':19823423,
8     'email':'shenyang@qq.com'
9 }

字典的特性:
1)字典是无序的;它没有下标,用key来当索引,所以是无序的
2)字典的key必须是唯一的:因为它是通过key来进行索引的,所以key不能重复

字典的增删改查方法:

增加:

1 #定义字典
2 info ={
3     'name':'张三',
4     'age':18,
5     'sex':'',
6     'addr':'天通苑',
7     'qq':19823423,
8     'email':'zhangsan@qq.com'
9 }
10 
11 #增加:两种方式
12 info['class'] = '1班'
13 info.setdefault('house','一环')
14 print(info)

python学习列表、字典、元祖、字符串第16张

修改:

1 info['age'] = 38 #修改
2 print(info)
3 info.setdefault('age',49)  #setdefault这种方式,如果key已经存在,不管它,如果key不存在的话,就新增。
4 print(info)

python学习列表、字典、元祖、字符串第17张

删除:

1 #删除
2 info.pop('sex')  #pop():#标准的删除方法,key不存在时会报错
3 del info['sex'] #del key不存在时会报错
4 print(info)
5 
6 info.clear()  #清空字典
7 info.popitem() #随机删除一个key

查询:

1 #取值、查询
2 print(info['addr'])
3 #print(info['add'])  #传入不存key时报错
4 
5 print(info.get('email'))
6 print(info.get('eeee')) #传入不存在key时,返回None
7 #print(info.get('eee','ceshi') )#key不存在时,返回后面指定的值
8 
9 print('email' in info) #判断email是否在这个字典中,返回True或者False

python学习列表、字典、元祖、字符串第18张

查询所有的key,value:

1 print(info.values())
2 print(info.keys())

python学习列表、字典、元祖、字符串第19张

把一个字典加入到另一字典中:

1 yaoyuan = {'age':19,'name':'李四'}
2 info.update(yaoyuan)  #把一个字典加入到另外一个字典里面
3 print(info)

python学习列表、字典、元祖、字符串第20张

循环字典:

1 for infos in info:  #循环时默认打印字典的key
2     print(infos)
3 
4 #循环取k,v
5 for k,v ininfo.items():
6     print(k,v)

四、字符串

字符串:它可以存任意类型的字符串,比如名字,一句话等等

字符串常用方法:

1 name = 'apple'
2 print(name.capitalize()) #把字符串首字母大写
3 print(name.center(50,'-')) #把字符串居中的
4 print(name.index('p'))#返回匹配到的第一个元素的位置,找不到下标的时候会报错
5 print(name.isalnum()) #只能有英文、数字
6 print(name.isalpha()) #判断是否只为英文的,汉字也可以

python学习列表、字典、元祖、字符串第21张

1 print(name.count('p')) #查询xx出现的次数
2 print(name.endswith('.jpg'))#判断字符串是否以xx结尾
3 print(name.startswith('ap'))#判断字符串是否以xx开头
4 print(name.upper()) #全转化为大写
5 print(name.lower()) #全转化为小写
6 print(name.find('p')) #它找不到元素的时候,不会报错,会返回-1

python学习列表、字典、元祖、字符串第22张

1 name = 'apple       '
2 print(name.isdigit()) #判断是否为纯数字
3 print(name.isspace()) #判断是否全都是空格
4 print(name.strip())#去掉字符串两边的东西,默认是去调两边的空格和换行符的
5 print(name.lstrip())#只去掉左边的
6 print(name.rstrip())#只去掉右边的
7 print(name.replace('le','haha')) #替换字符串,把前面的替换成后面的

python学习列表、字典、元祖、字符串第23张

1 num ='88'
2 print(num.zfill(4)) #在字符串前面补0,数字代表补0后字符串的总位数
3 
4 names = 'dt,wx,xin,wang'
5 print(names.split(',')) #1、分割字符串,2、把字符串变成一个list 3、默认是以空格和换行符分割的
6 
7 stus = ['hh','dd','ww','haha']
8 print('.'.join(stus)) #1、是吧list变成字符串的 2、以某个字符串连接

python学习列表、字典、元祖、字符串第24张

1 importstring
2 print(string.ascii_letters)  #返回所有的大写+小写字母
3 print(string.ascii_lowercase) #返回所有的小写字母
4 print(string.ascii_uppercase) #返回所有的大写字母
5 print(string.digits) #返回所有的数字
6 print(string.punctuation) #所有的特殊字符

python学习列表、字典、元祖、字符串第25张

备注:字符串的值定义好之后也不能被修改

#字符串定义好了之后,也不能修改
s = 'abcEFGabc'
#s[0]='h' #不能修改,这样修改会报错:TypeError: 'str' object does not support item assignment
new_s  = s.replace('abc','')  #原来的值不会被修改,这种方法会重新返回一个新的值
print("s=",s)  #s= abcEFGabc
print("new_s=",new_s) #new_s= EFG

免责声明:文章转载自《python学习列表、字典、元祖、字符串》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇OCR识别-python3.5版IIS 5.0/5.1 进程回收下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows上安装-kivy

原文:https://kivy.org/doc/stable/installation/installation-windows.html#install-win-dist 如果您使用Anaconda,则可以使用以下命令安装kivy: $ conda install kivy -c conda-forge 否则,请继续下面的步骤以在本机Python安装...

一种基于Python Pika库的RabbitMQ Client简单封装

代码 参考 注意 代码 Github地址:https://github.com/HanseyLee/RabbitMQClient #!/usr/bin/python # -*- coding:utf-8 -*- import pika import hashlib import json def getMd5(input_str): """...

python 爬虫_PyQuery详细用法

总结:语法和JQuery一样 1. 初始化 from pyquery import PyQuery as pq #用pq代替pyquery doc=pq(html) print(doc('li')) #字符串的初始化 from pyquery import PyQuery as pq...

python中常用的数据类型之整型(int),浮点型(float), 布尔值(bool), 复数(complex)

python中的常用数据类型:整型(int),浮点型(float),布尔型(bool),复数型(complex), 字符串(str), 列表(list), 元组(tuple),字典(dict),集合(set) python数据类型之整型(int) 在python中整形用来表示整数,包括负整数和正整数和0,没有小数部分,而数据的表现类型有二进制,八进制,十进...

zookeeper的一些异常总结

1.Could not find the main class: org.apache.zookeeper.server.quorum.QuorumPeerMain. Program will exit. 安装包损坏,找不到对应文件。重新安装。 2. 2013-03-28 11:13:32,205 - INFO [main:QuorumPeerConfig...

python 30 进程之间的相互独立、进程之间的时间差

# import time# import os# from multiprocessing import Process## def func1():# time.sleep(3)# print('我是func1')## def func2():# time.sleep(3)# print('我是func2')#...