列表


1.列表可存放任何东西,并且可修改

2.列表有序

3.列表支持索引与切片

4.支持for,while循环,所以列表为可迭代对象

5支持in操作,判断元素是否在列表中

6可多重索引嵌套列表

7.字符串可以转换为列表list():因为其内部使用的是for循环#两者为可迭代对象

8.数字不可转列表:不能用for循环,因为数字非可迭代对象

9列表转字符串

有数字、字符串 自己使用for循环
只有字符串 ‘’.join()

列表的灰魔法

1.li.append() :在原来值后添加

2.li.clear() :清空列表

3.v = li.copy() :浅拷贝

4.v = li.count() : 计算列表内指定元素的个数,不填参数(列表内元素)就报错

5.li.extend() : 执行for循环用append添加 参数必须是可迭代

6.li.index(): 根据参数获取当前值的索引位置(左边优先)

7.li.insert(n1,n2): 在指定索引位置插入元素 n1为位置,n2为元素

8.删除

v = li.pop() 删除某个值,并获取删除值可加索引(默认最后一个)
li.remove() 删除列表中指定元素,左边优先
del li【】 根据索引删除

9.li.reverse() :将当前列表进行反转

10.li.sort() : 列表排序 从小 到 大

li.sort(reverse =true) :列表排序从大 到 小

元组


tuple

1.元素不可被修改、增加、删除

2.元素有序

3.可索引、切片

4.可for循环、为可迭代对象

5.字符串、列表、元组间可转换 tuple()

6.一般写元组时,推荐在最后加入,

元组的一级元素不可修改,但一级元素下的二级元素(非元组)可修改

元组的灰魔法

1.count():获取元素在元组中出现次数

2.index():获取元素在元组中的位置

字典


dict

1.字典是无序的!

2.字典的值可任意

3.字典支持索引、切片

4.不可while循环,可for循环

5.字典的key不可是列表、字典、布尔。若key重复则key不显示

字典的灰魔法

info = {}

1.for item in info()  = for item in info.keys()     默认循环key

2.for k,v in info.items  循环key , values 进入k,v

3.get

v = info.get('k1',111)   根据key取值 ,若key不存在返回111,默认返回None

4.update

info.update({'k1' = '111','k2' = 122})    更新(修改)值

或者 info.update(k1 = 123,k2 = 252)

5.frokeys

静态引用

v = dict.fromkeys(['k1',123],123)  根据序列,创建字典,并制定统一值  即key:‘k1’、123的值为123

6.pop

v = info.pop('k1',90)  删除并获取值,若无则获取制定值90,若无则None

k,v = info,popitem()  删除并获取key and values

7.setdefalut : 设置值;若存在,不设置,获取当前key对应值

          若不存在,设置,并获取当前key对应值

8.

集合


set

1.集合由不同元素组成,有去重的功能

2.集合内元素无序

3.集合中元素必须是不可变类型

4.书写格式{,}

5。set() 转换为集合类型

集合的灰魔法

1.add()增加元素,但只加一个

2.clear()清空集合内的所有元素

3.s1 = s.copy( ) 复制s集合的元素给s1

4.s.pop() 随机删除集合内元素

5.指定删除

s.remove()

删除元素不存在会报错
s.discard() 删除元素不存在不会报错

6.求交集

s1 & s2 或者 s1.intersection(s2)

7.求并集

s2 | s1 或者 s2.union(s1)

8.求差集

s2 - s1  = s2.difference()  求的是存在于s2但不存在于s1

9.交叉补集:s1 于s2 交集的外部

s1 ^ s2 = s1 .symmetric_difference()

10.difference_update()  :做完差集再更新

s1.difference_update(s2)    与   s1 = s1 - s2  相同

11.isdisjoint

s1.isdisjoint(s2)    若有交集返回true

12.issubset 判断是否子集

issuperset 判断是否父集  是则Tru

13.update

如:s1.update(s2)  更新多个值到s1 (需可迭代对象)

14.s = frozenset(‘helllo’)

定义一个不可变的集合

15.简单去重

names = [ 's1','s2','s3']

names = list(set(names))

Python基本数据类型之列表、元组、字典、集合及其魔法的更多相关文章

  1. Python入门基础学习(列表/元组/字典/集合)

    Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...

  2. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

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

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  4. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

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

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

  6. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

  7. python基础之02列表/元组/字典/set集合

    python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...

  8. Day 07 数据类型的内置方法[列表,元组,字典,集合]

    数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...

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

    先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...

  10. python的对象类型-----列表&元组&字典

    列表: #定义列表 l=[1,'a',[3,4]] #l=list([1,'a',[3,4]]) #取值 print(l[0]) print(l[2][0]) l=[1,2,[['a','b'],'c ...

随机推荐

  1. 从Storm和Spark 学习流式实时分布式计算的设计

    0. 背景 最近我在做流式实时分布式计算系统的架构设计,而正好又要参加CSDN博文大赛的决赛.本来想就写Spark源码分析的文章吧.但是又想毕竟是决赛,要拿出一些自己的干货出来,仅仅是源码分析貌似分量 ...

  2. DAA和CMAC

    数据认证算法(DAA)  Data Authentication Algorithm DAA建立在DES之上,该算法比较陈旧,人们已经发现了这个算法的安全弱点,目前已经被废止. DAA采用DES运算的 ...

  3. JSP自定义标签之简单标签入门

    在sun官方文档上有下面这样一段话. 官方文档声明 public interface SimpleTag extends JspTag Interface for defining Simple Ta ...

  4. 关于android app签名文件获取sha1和MD值

    最近在做百度地图的嵌入,因为从同事接手的android app,所以第一次接触android的签名. 总的来说签名还比较简单,我用的是eclipse ADT自带的签名工具来做的签名,方法如下: 选择项 ...

  5. Android进阶(二十四)Android UI---界面开发推荐颜色

    Android UI---界面开发推荐颜色   在Android开发过程中,总要给app添加一些背景,个人认为使用纯色调便可以达到优雅的视觉效果. 补充一些常用的颜色值:colors.xml < ...

  6. Android性能优化之被忽视的优化点

    对于性能优化这个知识点来说,实在是太广了,博主本人也一直非常关注这方面的学习,而对于性能优化来说它包括了非常非常非常多方面,比如:I/O的优化.网络操作的优化.内存的优化.数据结构的优化.代码层次的优 ...

  7. Swift基础之实现下拉变大和OC下拉变大上拉缩小Demo

    Swift语言实现下拉变大效果:(上拉缩小效果随后研究......) 关键代码:方法一: self.automaticallyAdjustsScrollViewInsets = false;      ...

  8. Linux多线程实践(5) --Posix信号量与互斥量解决生产者消费者问题

    Posix信号量 Posix 信号量 有名信号量 无名信号量 sem_open sem_init sem_close sem_destroy sem_unlink sem_wait sem_post ...

  9. C语言中,#include <>和#include ""的区别和注意点

    C语言中包含文件有两种包含符号,一个是<>尖括号,另一个是""双引号.那么这两个有什么区别呢? 首先在本地建立一个空文件,命名为stdio.h. 然后再建立一个C文件, ...

  10. “基于数据仓库的广东省高速公路一张网过渡期通行数据及异常分析系统"已被《计算机时代》录用

       今天收到<计算机时代>编辑部寄来的稿件录用通知,本人撰写的论文"基于数据仓库的广东省高速公路一张网过渡期通行数据及异常分析系统",已被<计算机时代>录 ...