python基础(五)列表,元组,集合
列表
在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据.
列表的常用操作:包括索引,切片,增删改查等.
#首先申明3个列表
list_all = ['22','sylar','22','open','4','sklfj','open',16,'sjk113','skf_kjdk','open','skj*&%)','f_s2df']
list_num = [1,4,7,3,5,4]
list_alp = ['axod','sccde','lsoM','JLKSI','KDIiid']
#切片,是用index来获取列表的某个或几个元素,其中多个元素用[start:end:step]来获取,index是从0开始,-1,-2来表示列表的最右的后几位
print(list_all[0])
print(list_all[2:10:2])
print(list_all[7:-1])
print(list_all[7:])
print(list_all[:7])
#append 在列表末尾添加一个值
list_alp.append('append')
print(' append 方法--->:',list_alp)
#count 记录一个值在列表中出现的次数
print(' count 方法--->:',list_all.count('open'))
#copy复制一个列表
l_copy = list_all.copy()
print(l_copy)
#clear清空列表
print(l_copy.clear())
#extend将两个表合并
list_all.extend(list_num)
print(' extend 方法--->:',list_all)
#insert插入一个元素,可以指定index来确定元素的位置
list_alp.insert(2,'sylar')
print(' insert 方法--->:',list_alp)
#index ,打印列表中某个值的index
print(' index 方法--->:',list_all.index('a'))
#pop 删除列表中的元素,默认是最后一个
print(' pop 方法--->:',' pop--->:',list_all.pop(),' list_all--->:',list_all)
print(' pop 方法--->:',' pop--->:',list_all.pop(0),' list_all--->:',list_all)
#remove 删除列表中找到的值,如果有相同的只删除找到的第一个,如果值不存在会引发一个错误
print(' remove 方法--->:',list_all.remove('open'),' list_all--->:',list_all)
#reverse 将列表的元素进行反向排序
print(' reverse 方法--->:',list_all.reverse(),list_all)
#sort按照ASCII码给列表排序
print(' 方法--->:',list_all.sort(),list_all)
#补充:一个循环列表比较好用的函数enumerate,可以快速获取列表的元素和对应的index
for index,item in enumerate(list_all):
print(index,item)
#或者:
for index,item in enumerate(list_all,1):
print(index,item)
元组
与列表类似的一个数据结构,不同在于元组的元素不能修改.需要注意的是元组的元素不能修改,但是元组的元素的元素是可以修改的.
元组的常用操作切片和列表一样,只是没有了修改元素的方法
#申明元组
tup1 = (1,2,3,['a','a', 'b'])
#切片
print(tup1[0])
print(tup1[0:8:2])
print(tup1[3:-1])
print(tup1[3:])
print(tup1[:3])
#index获取元素的index值
print(tup1.index(2))
#count对相同元素进行统计
print(tup1.count(5))
#补充 元素的元素可以修改,深浅copy的经典案例
tup1[-1][1] = 'c'
print(tup1)
集合
由多个无序且不重复的多个元素组成数据结构.所以集合也没有index.通常用来做去重和关系测试工作!集合也是无序的
#申明集合使用set函数.可以是列表元组字符串等数据类型,
set_test1 = set(list_num)
print(set_test1)
set_test2 = set([2,4,45,43,3,6,0,98,9,7,6])
print(set_test2)
set_test3 = set('sylar')
print(set_test3)
set_test4 = set([1,3,5])
print('set4',set_test4)
#集合常用操作,增删和关系测试
#add添加元素
set_test1.add(45)
print(set_test1)
#copy,复制
set_copy = set_test1.copy()
print(set_copy)
#clear清空
set_copy = set_copy.clear()
print(set_copy)
#difference差集,在set_test1中有在set_test2没有
a = set_test1.difference(set_test2)
print(a)
#intersection交集,在set_test1中有在set_test2也有的.
a = set_test1.intersection(set_test2)
print(set_test1 & set_test2)
print(a)
#isdisjoint,在set_test4和set_test5中都没有相同的元素.则返回True,反之
set_test5 = set([2,4,6])
a = set_test4.isdisjoint(set_test5)
print(a)
#issuperset父集issubset子集,判断一个集合是不是另外一个集合的父集或者子集.返回值True或者False
a = set_test1.issuperset(set_test4)
print(a)
a = set_test4.issubset(set_test1)
print(a)
#pop删除并返回任意一个元素
a = set_test1.pop()
print(a)
#remove删除指定元素
print(set_test1.remove(7))
#symmetric_difference对称差集,去除两个集合中都有的元素之后的结果
print(set_test1.symmetric_difference(set_test2))
#union并集两个集合组合到一起的结果
print(set_test1.union(set_test2))
#update只能把可迭代的对象加入原集合
set_test1.update(set_test5)
print(set_test1)
#数学运算符&交集,|并集,- 差集,^ 对称差集
print(set_test1 & set_test2)
print(set_test1 | set_test2)
print(set_test1 - set_test2)
print(set_test1 ^ set_test2)
补充上面3种数据结构都可以使用的
#in判断元素是否在集合中
for i in set_test2:
print(i)
if 0 not in list_num:print('yes')
python基础(五)列表,元组,集合的更多相关文章
- Python基础2 列表 字典 集合
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- 【python基础】之元组 集合 字典
元组 元组:元组和列表类似.但是元组中的元素是固定的(不能给一个元组添加,删除和替换元素以及重新排序) 1.创建元组 t1 = () #创建一个空元组 t2 = (1, 2, 3) t3 = tupl ...
- Python基础知识--列表和集合
列表:有序性,可以存放任意类型的对象,通过索引访问,可以分片操作 >>> L = ['id', 1000, 'scd', 1000, 'scd'] >>> L [' ...
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- python基础之列表list元组tuple
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...
- python基础语法3 元组,字典,集合
元组: ========================元组基本方法===========================用途:存储多个不同类型的值定义方式:用过小括号存储数据,数据与数据之间通过逗号 ...
- python基础数据类型--列表(list)
python基础数据类型--列表(list) 列表是我们在后面经常用到的数据类型之一,通过列表可以对数据类型进行增.删.改.查等操作 一列表的增.删.改.查 1增: 1.1增加到最后 append ...
- 初学Python(五)——元组
初学Python(五)——元组 初学Python,主要整理一些学习到的知识点,这次是元组. #-*- coding:utf-8 -*- #定义元素 t = (1,2,3) #添加元素 #删除元素 #更 ...
- python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)
列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...
随机推荐
- 一个模型中有两个外键指向同一张表时,创建迁移模型时报错:“ HINT: Add or change a related_name argument to the definition for 'AnswersModel.author' or 'AnswersModel.relay_to'.”解决方案
class AnswersModel(models.Model): author = models.ForeignKey(FrontUserModel,null=True,related_name=' ...
- MySQL-Select语句高级应用
1.1 SELECT高级应用 1.1.1 前期准备工作 本次测试使用的是world数据库,由mysql官方提供下载地址: https://dev.mysql.com/doc/index-other.h ...
- Android OpenGL ES(八)----纹理编程框架
1.把纹理载入进OpenGL中 我们的第一个任务就是把一个图像文件的数据载入到一个OpenGL的纹理中. 作为開始.让我们又一次舍弃第二篇的框架.又一次创建一个程序,新建一个util工具包,在该包下创 ...
- 简单了解Markdown
在Github的readme.md文件的编辑中,開始渐渐的接触Markdown.如今简单系统叙述一下Markdown的语法. Markdown是一种能够使用普通文本编辑器编写的标记语言.通过类似HTM ...
- HDU-1828-Picture(线段树)
Problem Description A number of rectangular posters, photographs and other pictures of the same shap ...
- NHibernate3剖析:Configuration篇之SessionFactory lambda配置
概览 在NHibernate3.0中.SessionFactory的Properties和Cache配置实现了流配置(fluent-configuration)和lambda表达式配置(lambda- ...
- F04 我的投资策略
我的投资理念:价值投资和右侧趋势投资.我的目标年化收益率: 15-25%我的投资时间:3-5年我的投资品种:股票 + EFT基金 买卖时间点的纪律(买入,卖出的时间原则)股票MA20为界限,高于则持有 ...
- MAC系统里JDK版本切换
1.首先安装需要的JDK版本 JDK7,JDK8则需要自己到Oracle官网下载安装对应的版本.自己安装的JDK默认路径为:/Library/Java/JavaVirtualMachines/jdk1 ...
- Parallels Desktop 12 for Mac 破解版
Parallels Desktop for Mac 是功能最强大灵活度最高的虚拟化方案,无需重启即可在同一台电脑上随时访问Windows和Mac两个系统上的众多应用程序.从仅限于PC的游戏到生产力软件 ...
- cell的复用机制
以下全部都是转载自别人的博客:http://blog.sina.com.cn/s/blog_9c3c519b01016aqu.html 转自:http://www.2cto.com/kf/201207 ...