1、元组

特点:一旦创建,内容不可修改,又叫只读列表

 a= ('wang','zhang','zhao')
print(a.count('zhao'))
print(a.index('wang'))

2、列表

name = ["wang","zhao","zhang"]

  切片:取多个元素

 name = ["wang","zhao","zhang","lili","hao"]
print(name[0:3])
print(name[0:-1])
print(name[0:])
print(name[:])
print(name[::2])
运行结果:
['wang', 'zhao', 'zhang']
['wang', 'zhao', 'zhang', 'lili']
['wang', 'zhao', 'zhang', 'lili', 'hao']
['wang', 'zhao', 'zhang', 'lili', 'hao']
['wang', 'zhang', 'hao']

  追加

name.append('张三')
print(name)
运行结果:
['wang', 'zhao', 'zhang', 'lili', 'hao', '张三']

  插入

 name.insert(0,'赵四')
print(name)
运行结果:
['赵四', 'wang', 'zhao', 'zhang', 'lili', 'hao', '张三']

  修改

name[0] = 'zhaosi'
print(name)
运行结果:
['zhaosi', 'wang', 'zhao', 'zhang', 'lili', 'hao', '张三']

  删除

name.remove('zhaosi')
print(name)
运行结果:
['wang', 'zhao', 'zhang', 'lili', 'hao', '张三']
del name[1]
print(name)
运行结果:
['wang', 'zhang', 'lili', 'hao', '张三']

  扩展

name = ['zhaosi', 'wang', 'zhao', 'zhang', 'lili', 'hao', '张三']
name1 = ['小明','小张','张三']
print(name)
name.extend(name1)
print(name)
运行结果: 
['zhaosi', 'wang', 'zhao', 'zhang', 'lili', 'hao', '张三']
['zhaosi', 'wang', 'zhao', 'zhang', 'lili', 'hao', '张三', '小明', '小张', '张三']

  拷贝

第一层的不会变,后面的跟着变,列表及字典的第一级修改后,copy的内容不会变,下一级的copy值会跟着变,共享空间,指针

print(name)
name1 = name.copy()
print(name1)
name[0]='赵四'
print(name)
print(name1)
运行结果:
['zhaosi', 'wang', 'zhao', 'zhang', 'lili', 'hao', '张三']
['zhaosi', 'wang', 'zhao', 'zhang', 'lili', 'hao', '张三']
['赵四', 'wang', 'zhao', 'zhang', 'lili', 'hao', '张三']
['zhaosi', 'wang', 'zhao', 'zhang', 'lili', 'hao', '张三']

  统计

print(name.count('zhang'))

  排序

name.sort()#正向排序
print(name)
name.reverse()#反向排序
print(name)

  获取下标

print(name.index('张三'))
运行结果:1

3、字典

特性:无序的;唯一key值,天生去重

student={
'stu1101':{'name':'张三','age':22},
'stu1102':{'name':'李四','age':22},
'stu1103':{'name':'王二','age':25},
}

增加

 student={
'stu1101':{'name':'张三','age':22},
'stu1102':{'name':'李四','age':22},
'stu1103':{'name':'王二','age':25},
}
student['stu1104']='王三'
print(student)
运行结果:
{'stu1101': {'name': '张三', 'age': 22}, 'stu1102': {'name': '李四', 'age': 22}, 'stu1103': {'name': '王二', 'age': 25}, 'stu1104': '王三'}

修改

 student={
'stu1101':{'name':'张三','age':22},
'stu1102':{'name':'李四','age':22},
'stu1103':{'name':'王二','age':25},
}
student['stu1103']['name']='王三'
student['stu1101']={'name':'张四','age':23}
print(student)
运行结果:
{'stu1101': {'name': '张四', 'age': 23}, 'stu1102': {'name': '李四', 'age': 22}, 'stu1103': {'name': '王三', 'age': 25}}

删除

pop():删除指定键值对应的数据

popitem():随机删除字典中的一对键和值

del student['stu1101']#删除
print(student)
student.pop('stu1101')#删除
print(student)
student.popitem()#随机删除
print(student)

查找

student={
'stu1101':{'name':'张三','age':22},
'stu1102':{'name':'李四','age':22},
'stu1103':{'name':'王二','age':25},
'stu1105':{'name':'王si','age':26},
'stu1104':{'name':'王一','age':23},
'stu1106':{'name':'王sd','age':23},
}
print('stu1101' in student)
print(student['stu1101'])#key不存在会报错
print(student.get('stu1101'))#key不存在返回None
print(student.get('stu1110'))
运行结果:
True
{'name': '张三', 'age': 22}
{'name': '张三', 'age': 22}
None

  合并更新

student={
'stu1101':{'name':'张三','age':22},
'stu1102':{'name':'李四','age':22},
'stu1103':{'name':'王二','age':25},
'stu1105':{'name':'王si','age':26},
'stu1104':{'name':'王一','age':23},
'stu1106':{'name':'王sd','age':23},
}
student2 = {
"stu1101":{"name":"wangdawei","age":22,"TEL":1581033},
"stu1110":"zhaoyazhi"
}
student.update(student2)
print(student)
运行结果:
{'stu1101': {'name': 'wangdawei', 'age': 22, 'TEL': 1581033}, 'stu1102': {'name': '李四', 'age': 22}, 'stu1103': {'name': '王二', 'age': 25},
'stu1105': {'name': '王si', 'age': 26}, 'stu1104': {'name': '王一', 'age': 23}, 'stu1106': {'name': '王sd', 'age': 23}, 'stu1110': 'zhaoyazhi'}

其他

print(student.keys())#返回可遍历的KEY值
print(student.values())#返回可遍历的value值
print(student.items())#返回可遍历的KEY,value值
for key in student: 
  print(key,info[key])
for k,v in student.items(): #会先把dict转成list,数据里大时莫用
  print(k,v)

4、集合 

集合是一个无序的,数据不重复的数据组合,作用如下:

  • 去重,把一个列表变成集合就自动去重了
  • 测试两组数据之间的交集、并集、差集等关系

定义:

a = {1,3,5,7,10}
b = {2,3,4,5,6,8} #交集
print(a & b)
print(a.intersection(b))
print(a.intersection_update(b)) #等价于a = a.intersection(b)
print(a)
#差集
a = {1,3,5,7,10} 
b = {1,3,5}
print(a-b)
print(a.difference(b))
运行结果:
{10, 7}
{10, 7} #并集
print(a | b)
print(a.union(b))
运行结果:
{1, 2, 3, 4, 5, 6, 7, 8, 10}
{1, 2, 3, 4, 5, 6, 7, 8, 10} #对称差集
print(a ^ b)
print(a.symmetric_difference(b))#去掉公共部分
运行结果:
{1, 2, 4, 6, 7, 8, 10}
{1, 2, 4, 6, 7, 8, 10}

  

5、join()函数

join():    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

语法:  'sep'.join(seq)

参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

student={
'stu1101':{'name':'张三','age':22},
'stu1102':{'name':'李四','age':22},
'stu1103':{'name':'王二','age':25},
}
list=['wang','zhao']
print(''.join(list))
print('.'.join(list))
print('.'.join(student))
运行结果:
wangzhao
wang.zhao
stu1101.stu1102.stu1103

  

python之路3-元组、列表、字典、集合的更多相关文章

  1. python基础一 -------如何在列表字典集合中根据条件筛选数据

    如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) fi ...

  2. python数据类型详解及列表字典集合推导式详解

    一.运算符 Python语言支持以下类型的运算符: 算术运算符 如: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 print(a ...

  3. Python之旅Day2 元组 字符串 字典 集合

    元组(tuple) 元组其实跟列表差不多,也是存一组数,与列表相比,元组一旦创建,便不能再修改,所以又叫只读列表. 语法: names = ("Wuchunwei","Y ...

  4. Python之路-基础数据类型之字典 集合

    字典的定义-dict 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成,字典是无序的,key是不可修改的.dic = {1:'好',2:'美',3:'啊'} 字典的操 ...

  5. python中元组/列表/字典/集合

    转自:https://blog.csdn.net/lobo_seeworld/article/details/79404566

  6. python数据类型:序列(字符串,元组,列表,字典)

    序列通常有2个特点: 1,可以根据索引取值 2,可以切片操作 字符串,元组,列表,字典,都可以看做是序列类型 我的操作环境:Ubuntu16.04+python2.7 一.字符串类型 >按索引获 ...

  7. Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据

    Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析 ...

  8. python :列表 字典 集合 类 ----局部变量可以改全局变量

    #列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def ...

  9. python学习笔记(一)元组,序列,字典

    python学习笔记(一)元组,序列,字典

  10. Python基础2 列表 字典 集合

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

随机推荐

  1. 使用Git进行版本管理

    参考:http://www.runoob.com/git/git-tutorial.html 一.Git简介 1.Git 和 SVN 比较 (1)GIT是分布式的,SVN不是; (2)GIT把内容按元 ...

  2. 等价路由在路由器和CE交换机上默认的行为是不同的,路由器总是走第一个下一跳,CE交换机是逐包。

    结论: 1.在eNSP中实验,路由器和CE交换机对于等价路由的默认转发行为是不同的, 路由器:默认是基于流的转发形态,更准确的来讲,ping两个不同的下一跳,都是走等价路由的第一个路由,不走第二条路由 ...

  3. (最详细)小米MIX的Usb调试模式在哪里打开的教程

    当我们使用安卓手机链接pc的时候,或者使用的有些应用比如我们团队营销团队当使用的应用引号精灵,以前老版本就需要开启Usb调试模式下使用,现当新版本不需要了,如果手机没有开启Usb调试模式,pc则没法成 ...

  4. 精简你的 docker 镜像

    精简你的 docker 镜像 Intro 现在 docker 的使用越来越普遍,今天来谈一下如何精简你的 docker 镜像 为什么要精简 docker 首先来说说为什么要精简 docker 镜像,减 ...

  5. [Python][Scrapy 框架] Python3 Scrapy的安装

    1.方法(只介绍 pip 方式安装) PS.不清楚 pip(easy_install) 可以百度或留言. cmd命令: (直接可以 pip,而不用跳转到 pip.exe目录下,是因为把所在目录加入 P ...

  6. Go-Ethereum 1.7.2 结合 Mist 0.9.2 实现代币智能合约的实例

    目录 目录 1.什么是 Mist 2.Mist 在哪里下载? 3.Mist 有哪些依赖? 4.如何安装 Mist? 4.1.安装 Mist 依赖工具包 4.2.安装 Mist 4.3.启动 Mist, ...

  7. 高版本Sqlserver数据库导入低版本Sqlserver

    今天想跑一个关于java网站的demo,结果在附加数据库项这一块出现问题,例程的数据库用的是sqlserver2014,而我的是2008,添加数据库出现错误.经过一番查找,也找到某人写的一些博客上的解 ...

  8. Dijango学习_01_pycharm创建应用

    一.当初在学dijango的时候,网上的教程非常的杂且多,对于؏؏☝ᖗ乛◡乛ᖘ☝؏؏我们这种初入虎门的小白来说有太多误区 (其实是大佬的操作着实对小白不太友好,原谅我个萌新..2333..) 二.pi ...

  9. python文件上传

    1.前端代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  10. Log4j分级别保存日志到单个文件中,并记录IP和用户信息

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration S ...