一、列表

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

#取值、切片

names = ["zhangsan","lisi","wangwu","chenliu"]print (names)                #取所有列值
print (names[0],names[2])    #取值
print (names[0:3])           #切片,第一个值至第三个值
print (names[:3])            #0不写默认是0,切片,第一个值至第三个值
print (names[-1])            #取最后的值或者倒数第一个-2就是倒数第二个
print (names[-3:-1])         #倒数从左往右取值,顾首不顾尾

#添加、插入、修改、删除、查找、统计

#添加
names.append("xiaqi")        #在最后面添加一个值
#插入
names.insert(1,"caoba")      #在1的后面插入一个值,一定要输入在哪个值后面插入
#修改
names[2] ="xiaowang"         #在下标为2修改值,根据下标修改值
#删除
1、根据值删除
names.remove("caoba")
2、根据下标删除
del names[1]
3、删除最后一个
names.pop()    #删除最后一个,输出下标就删除下标 跟这个一样 del names[-1]
#查找下标
print(names.index("zhangsan"))           #找值的下标
print(names [names.index("zhangsan")] )  # 查找下标后打印下标内容
#统计
print(names.count("chenliu"))            #统计相同的值数量

#清空列表、翻转列表、排序列表、扩展列表

#清空列表
names.clear()
#翻转列表
number=[1,2,3,4,5,1,1]
number.reverse()
print(number)
[1, 1, 5, 4, 3, 2, 1]
#排序列表
number=[1,2,3,4,5,1,1]
number.sort()
#扩展列表
names2 = [1,2,3,4]
names.extend(names2)

#浅复制列表

names=['zhangsan','lisi','wangwu']
names2 = names.copy()
print(names)
print(names2)
['zhangsan', 'lisi', 'wangwu']
['zhangsan', 'lisi', 'wangwu']names=['zhangsan','lisi','wangwu',['jonny']]
names2 = names.copy()
print(names)
print(names2)
['zhangsan', 'lisi', 'wangwu', ['jonny']]
['zhangsan', 'lisi', 'wangwu', ['jonny']]names[2] = '王五'
names [3] [0] = 'JONNY'
print(names)
print(names2)   #name2 只复制第一层的列表,不会复制第二层列表,也就是子列表

['zhangsan', 'lisi', '王五', ['JONNY']]     #names 修改的是第二层,然后wangwu变成了中文也是第二层
['zhangsan', 'lisi', 'wangwu', ['JONNY']]   #但是names2是复制第一层,所以第一层是没有中文的王五,而jonny被改成了大写也是因为不复制,第二层也就是子列表。
浅复制的三种方式:
import copy
person=['name',['a',100]]p1=copy.copy(person)
p2=person[:]
p3=list(person)

#深复制列表

import copy
names=['zhangsan','lisi','wangwu',['jonny']]
names2 = copy.deepcopy(names)
print(names)
print(names2)
names[2] = '王五'
names [3] [0] = 'JONNY'
print(names)
print(names2)['zhangsan', 'lisi', 'wangwu', ['jonny']]
['zhangsan', 'lisi', 'wangwu', ['jonny']]
['zhangsan', 'lisi', '王五', ['JONNY']]
['zhangsan', 'lisi', 'wangwu', ['jonny']]

二、元组

元组与列表类似,元组一旦创建即不可修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

Names=('name','jonny')

只有两种方法:

1、index 查找下标

2、count 统计

三、字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

#创建一个新字典,同时赋值。

c = dict.fromkeys([6,7,8],[1,{'name':'alex'},444])
print(c)
c[7][1]['name']='Jack Chen'   #会直接修改连接地址,所有name值全部都会修改。
print(c)
{8: [1, {'name': 'alex'}, 444], 6: [1, {'name': 'alex'}, 444], 7: [1, {'name': 'alex'}, 444]}
{8: [1, {'name': 'Jack Chen'}, 444], 6: [1, {'name': 'Jack Chen'}, 444], 7: [1, {'name': 'Jack Chen'}, 444]}

#修改、查、删除

#修改,存在则修改,不存在则创建
info = {'stu1101': 'zhang san','stu1102': 'li si','stu1103': 'wang wu',
}
b = {'stu1101': 'xiaxia',   #对应info的key stu1101值不一样,则被修改1:3,    #无对应key 则新增4:2     #无对应key 则新增
}
info.update(b)   #修改info字典,对应的key有值就修改,无则新增
print(info)
{1: 3, 'stu1101': 'xiaxia', 4: 2, 'stu1102': 'li si', 'stu1103': 'wang wu'}
#查
print(info.get('stu1101'))  #如果没有该key 则返回None。
print(info['stu1101'])      #直接打印key的值
#删除1
del info['stu1101']
#删除2
info.pop('stu1104')
#随机删除
info.popitem() #随机删除一个元素

#多级嵌套

school = {"大学":{"www.nanjingdaxue.com": ["做夢吧","要求分数高"],"www.zhongshandaxue.com": ["醒醒吧","要求分数高"],"qinghuadaxue.com": ["不可能的","要求分数高"],"beijingdaxue.com":["难进","要求分数高"]},"高中":{"sihui":["轻松","收费低"]},"初中":{"weizheng":["容易","免费"]}
}
#修改
school['高中']['sihui'][1] = '毫不費力'
#只打印key
print(school.keys())
#只打印值
print(school.values())
#嵌套循环打印
for  i in school:print(i,school[i])

#字典转换列表

#把字典转换为列表
print(info.items())
#字典转列表然后再循环
for k,v in info.items():print(k,v)

四、集合

集合(set)是一个无序不重复元素的序列。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

list_1 = [1,1,3,4,5,6]
list_1 = set(list_1)
#打印类型
print(list_1,type(list_1))
list_2 = set([2,3,4,7,9])
print(list_2)
print(list_1,list_2)
#交集 .intersection
print(list_1.intersection(list_2))  #取出交集
#并集 .union
print(list_1.union(list_2))         #去重合并
#差集 .difference
print(list_1.difference(list_2))    #保留list_1里面有的list_2里面没有的
#子集 .issubset
list_3 = set([1,3,4])
print(list_3.issubset(list_1))      #list_1 包含list_3 的所有值,则返回Ture
print(list_1.issuperset(list_3))    # 返回Flase
#对称差集 .symmetric_difference
print(list_1.symmetric_difference(list_2))   #把相互都没有的值取出来
#对比是否有交集,没有为True,有则False
list_4 = set([5,6,7])
print(list_3.isdisjoint(list_4))    #没有交集为True
集合符号:
#交集
print(list_2 & list_3)
#并集
print(list_2 | list_3)
#求差集
print(list_2 - list_3)
#对称差集
print(list_2 ^ list_3)
#添加
list_1.add(999)
print(list_1)
#添加多项
list_4.update([888,999,111])
#删除一项
list_4.remove(999)
#集合长度
print(len(list_4))
#判断是不是成员
print(111 in list_4)
#列表、字典、字符串、集合、元组判断是不是成员都是用in
print(list_1.pop()) #任意删除一个
list_1.discard('4') #删除,没返回

五、字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。

name = "my name is jonny, 22 years old this year"#字符串首字母大写
print(name.capitalize())
My name is jonny, 22 years old this year
#统计字符
print(name.count('a'))
3
#打印50个字符不够用-补充,把字符串放在中间
print(name.center(50,'-'))
-----my name is jonny, 22 years old this year-----
#是否以year结尾
print(name.endswith('year'))
True
#\t Tab转空格
name = "my \tname is jonny, 22 years old this year"
print(name.expandtabs(tabsize=30))  #Tab转30个空格
my                            name is jonny, 22 years old this year
#字符串切片
print(name[name.find('name'):])     #以name.find查找name的下标开始切片。
name is jonny, 22 years old this year
#字符串修改
name = "my name is {name}, {age} years old this year"
print(name.format(name='jonny',age=22))
my name is jonny, 22 years old this year
#使用字典进行修改
name = "my name is {name}, {age} years old this year"
print(name.format_map({'name':'jonny','age':22}))
my name is jonny, 22 years old this year
#判断是不是阿拉伯数字
name = "my name is jonny, 22 years old this year"
print(name.isalnum())
print('123456'.isalnum())  #数字
print('jonny22'.isalnum()) #字母和数字
False
True
True
#纯英文字符 包含大写
print('Jonny'.isalpha())
True
#是不是十进制
print('10'.isdecimal())
True
#是不是整数
print('9'.isdigit())
True
#是不是合法的变量名标识符
print('var'.isidentifier())
True
#是不是小写
print('lower'.islower())
True
#是不是数字
print('123'.isnumeric())
True
#是不是空格
print(' '.isspace())
True
#是不是每个首字母都是大写
print('My Name Is Jonny'.istitle())
True
#是不是可以打印的
print('print'.isprintable())
True
#是不是大写
print('A'.isupper())
True
#是不是以字符串开头
print('Jonny'.startswith('Jon'))
True
#合并字符
print('+'.join(['1','2','3']))
1+2+3name = "my name is jonny 22 years old this year"
#打印50字符,不够用@往右补充
print(name.ljust(50,'@'))
my name is jonny 22 years old this year@@@@@@@@@@@
#打印50字符,不够用@往前补充
print(name.rjust(50,'@'))
@@@@@@@@@@@my name is jonny 22 years old this year
#大写改为小写
print('AAA'.lower())
aaa
#小写改为大写
print('aaa'.upper())
AAA
#从左边去除空格回车
print('\nJonny'.lstrip())
Jonny
#从右边去除空格回车
print('Jonny\n'.rstrip())
Jonny
#去除左右空格
print('    Jonny   '.strip())
Jonny
#指定去除左右字符
name = '****Jonny*****'
print(name.strip('*'))
Jonny
#打印字符串对应上面的字符串
p = str.maketrans('JddnooykL','123456789')
print('Jonny Luo'.translate(p))
16447 9u6
#字符串替换
print('Jonny Luo'.replace('L','l'))
Jonny luo
#找到最右边的值的下标
print('Jonny Luo'.rfind('L'))
6
#把字符串按照空格分成列表,l当作分隔符
print('Jonny Luo '.split('L'))
['Jonny ', 'uo ']
#按照换行符来分成列表
print('Jonny \nLuo'.splitlines())
['Jonny ', 'Luo']
#大写改为小写,小写改为大写
print('Jonny Luo'.swapcase())
jONNY lUO
#每个首字母变大写
print('jonny luo'.title())
Jonny Luo
#打印50个字符,不够用0补充
print('jonny'.zfill(50))
000000000000000000000000000000000000000000000jonny

转载于:https://www.cnblogs.com/jiay/p/6065227.html

Python之路-(列表、元组、字典、集合、字符串)相关推荐

  1. python列表元组字典集合实验心得_python学习小总结(列表、元组、字典、集合、字符串)...

    ---恢复内容开始--- 一.列表(list) 1.添加 append():追加,在列表末尾添加元素. 列表名.append(添加的元素) extend():扩展,在列表末尾添加元素. 列表名.ext ...

  2. python中列表 元组 字典 集合的区别

    参考文章:python中列表 元组 字典 集合的区别

  3. python_列表——元组——字典——集合

    列表--元组--字典--集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  4. Python 列表元组字典集合

    列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...

  5. python列表添加元素的三种方法定义集合数据对象_(1) List,tuple,dictionary,Python语法基础集,一,之,列表,元组,字典,集合...

    Python序列(列表.元组.字典.集合) 一.列表(List)与列表推导式 (一)列表(list) 1.列表是Python内置 可变序列 (列表中元素可增加删除或修改): 2.列表元素放在一对中括号 ...

  6. python入门——列表+元组+字典+集合

    列表 列表是最常用的python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表的数据项不需要具有相同的类型 1.列表嵌套(相当于二维数组) a=["b",'c','d'] ...

  7. Python列表/元组/字典/集合详解

    本文是对Python中的列表.元组.字典.集合知识的梳理总结,将Python的重要知识点梳理成条,通过一个简单的员工管理系统(EMS)实战,可以深入的了解Python的基本知识.本文基本上涵盖了在日常 ...

  8. python中的列表、字典、字符串

    列表和字符串都存在:作用 下面详细说明一下":"在里面所起的作用; 格式: [起始 start:终止 end:步长 step] 开头(默认位置0)到结尾(默认位置-1)的整个字符串 ...

  9. python变量 数据类型 列表 元组 字典

    python基础语法2 变量 数据类型与类型转换 列表 添加列表元素 修改元素 删除列表元素 组织列表 创建数值列表 操作列表 元组 元组转列表 字典 创建字典 列表取值 字典删除增加修改 变量 变量 ...

  10. python 数据类型:整型 字符串 布尔值 列表 元组 字典 集合

    不可变类型:整型 字符串 整型 字符串 可变类型:列表 字典 一.列表常用命令 #增删改查 #查  切片 [] # print(a[1:])#取到最后 # print(a[1:-1])#取到倒数第二值 ...

最新文章

  1. Scala Trait详解
  2. VLAN配置命令列表
  3. SQL SERVER 导入EXCEL的存储过程
  4. 日期年月日的比较以及判断
  5. SQL取最大值编码(自动编码)
  6. 【原创】请不要对Boost Format使用Byte作为参数
  7. 设计模式7大结构型模式
  8. python输入人名对话_对话框中的用户输入
  9. OpenCasCade将鼠标点映射到OCC三维视图中的三维点(鼠标点转换为OCC三维坐标)
  10. 2018美赛ABCDEF题翻译
  11. mac如何设置默认输入法
  12. android 模拟内存不足,雷电模拟器内存不足怎么办?雷电安卓模拟器怎么修改内存大小?...
  13. Websphere应用部署发布
  14. 小白开始学RTOS 1
  15. 【概率论与数理统计】python实验
  16. 【云原生网关】Kong 使用详解
  17. 在哪自学python_怎么自学python,大概要多久?
  18. c语言linux系统时间,【整理】C语言设置Linux系统时间 | 勤奋的小青蛙
  19. iOS小技能:iOS15崩溃排查技巧(symbolicatecrash符号化分析问题、导出和隐藏符号)
  20. 一名IT界“老”技术人关于学习与成长的分享,受益!

热门文章

  1. Zurmo - - 国际化(翻译)
  2. linux-centos使用 wget命令获取jdk
  3. 互联网介入对安防行业的影响
  4. iredmail开源邮件系统部署
  5. 总结的一些android公共库
  6. android有用代码片段 (一)
  7. AsteriskNow 实用总结
  8. 通达OA办公系统的短信服务器(CDMA)
  9. Operations Manager 2007 R2 Beta可下载试用
  10. html里文字跳动,Web前端