1、列表

  列表相当与C++中的数组,是有序的项目, 通过索引进行查找,但使用起来却方便很多,具体的操作看代码,自己实践一次就非常简单了。

  注:列表一般用中括号“[ ]”

#列表(数组)
name_list = ['huahua','weiwei','jack','dabao']
name_list.append('wenyen') # 在后面加一个元素
# 例如
name_list.insert(1,"jack")
name_list.count('jack')
name_list.index('jack')
name_list.remove('jack') # 只能填真实的值,否则用del name_list[1] name_list.pop() # 删除最后一个
name_list.reverse() # 倒序
name_list.sort() # 按asc2码来排序
# 例如
num_list = ['a','b','c','d']
name_list, num_list name_list.extend(num_list) # 扩展列表 相当于name_list += num_list
name_list[2:5] # 切片,顾头不顾尾
name_list[-5:] # 从后往前取,:后面什么都不加表示取到最后一个数
name_list[name_list.index('a'):name_list.index('a')+3]
name_list[1::3] # 从第一个开始取,隔两个取一个

2、元组

  元组是将多样的对象集合到一起,不能修改,通过索引进行查找;元组的主要特性就是不可修改,相当于常量,是作为一个整体使用的。

  注:元组一般用括号“( )”

    元组和列表可以实现互相转换,如下

#元组(相当于常量不可修改)用()的叫元组用[]的叫列表
a = (1,2,3,4)#元组和列表的互相转换
type(a)
a = list(a)
type(a)
a = tuple(a)
type(a)

3、字典

  字典是一组键(key)和值(value)的组合,通过键(key)进行查找,没有顺序

  注:使用大括号”{}”

# 字典(所有的key必须是唯一的)用{}
person_info = {"name": "vivi", 'age': '', 'job': 'engineer'}
person_info['salary'] = 300000 # 新增
person_info['job'] = 'it' # 更改
person_info.pop('salary') # pop可指定删除
person_info.popitem() # popitem不指定就随机删除一个(因为字典没有数据)
person_info.get('name') # 有这个key就返回值,没有就返回none,不像【】一样会报错
person_info.has_key('job') # 判断是否有这个key,没有则可以写入
person_info.keys() # 只显示key
person_info.setdefault('gentle', 'male') # 设置默认值,有则不变,没有加入 new_info = {'age': 19, 'addr': ['wuhan', 'beijing']}
person_info.update(new_info) # 把新字典更新到老的字典中 print person_info['name'] # 在文件中要用print才有输出
print person_info.items() # items默认会把索引和值都打出来(以列表的形式)
print person_info

  注:以下是关于字典的两种循环

for i in person_info:  # 效率高
print i, person_info[i] for k, v in person_info.iteritems(): # 先以列表的额形式打印出来再进行循环,效率低
print k, v

4、集合

  集合是无序的,自动去重,不支持索引但可以进行关系测试

  注:集合用“{}”表示

# 集合 (无序 自动去重,关系测试,不支持索引) 用{}
a = range(50)
a = set(a)
a.add(-1)
a.pop() print a x = {1, 2, 3, 4}
y = {3, 4, 5, 6}
print x & y
print x | y
print x - y
print x ^ y

5、字符串

  字符串其实不属于基本结构啦,只是懒得单独拎出来写了~

#字符串
msg = "what's your company's name?"
msg = msg.capitalize()
msg = msg.upper()
msg = msg.lower()
msg += ' WEIWEI' # 这个操作要重新开辟两次内存空间,用join就只需要开辟一次
msg = msg.swapcase()
msg_list = msg.split() # 默认是以空格作为分隔,组成一个列表(可以自己设定)string转化为list
'hhhhhhhhh'.join(msg_list) # 列表转换为字符串的完形填空~list转换为string msg msg.startswith('WHAT')
len(msg) cmp('a', 'b') # 小于为-1
cmp('b', 'a') # 大于为1
cmp('a', 'a') # 等于为0 ord('h') # 问asc2码

  以上是我自己看书查资料总结的一些比较常用的命令,比较乱啦,但因为这是之前写的笔记就懒得改了,其实copy到电脑里面运行一下所有命令的意思就很明朗了~一点自己的经验~

Python之列表、元组、字典、集合及字符串的详细使用的更多相关文章

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

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

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

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

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

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

  4. python的列表元组字典集合比较

    定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'],7- ...

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

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

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

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

  7. Python学习---列表/元组/字典/字符串/set集合/深浅拷贝1207【all】

    1.列表 2.元组 3.字典 4.字符串 5.set集合 6.深浅拷贝

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

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

  9. Python 列表&元组&字典&集合

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

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

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

随机推荐

  1. mysql SELECT语句 语法

    mysql SELECT语句 语法,苏州大理石方箱 作用:用于从表中选取数据.结果被存储在一个结果表中(称为结果集). 语法:SELECT 列名称 FROM 表名称 以及 SELECT * FROM ...

  2. asp.net大文件上传解决方案

    以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传  ...

  3. Java——final

  4. Linq in not in\like not like

    别人的博客 http://blog.163.com/lesheng@126/blog/static/357364652010102111051668/ using System.Data.Linq.S ...

  5. RabbitMQ消息如何100%投递成功(六)

    消息如何保障100%的投递成功? 什么是生产端的可靠性投递? 保障消息的成功发出 保障MQ节点的成功接收 发送端收到MQ节点(Broker)确认应答 完善的消息进行补偿机制(如网络问题没有返回确认应答 ...

  6. 北风设计模式课程---最少知识原则(Least Knowledge Principle)

    北风设计模式课程---最少知识原则(Least Knowledge Principle) 一.总结 一句话总结: 最少知识原则(Least Knowledge Principle),或者称迪米特法则( ...

  7. glm初试,关于行矩阵列矩阵问题

    /*** * glm中矩阵是行优先存储的,这不同于opengl默认的以列优先存储的方式??,以下面矩阵mat为例 * 它是用四个行向量来模拟存储四个行:vec4 value[4],其中 * value ...

  8. UITextView输入中文时限制字数

    最近因为项目中输入用户简称时限制长度,被测试部多次提交问题,最终将解决方法分享给大家. 刚开始用最简单的方法,在textView的代理方法里面做处理 - (void)textViewDidChange ...

  9. day47—JavaScript事件基础应用

    转行学开发,代码100天——2018-05-02 1.事件对象 JavaScript中事件对象通常用定义变量ev或event表示.为了兼顾浏览器兼容问题,定义事件对象为 var oEvent = ev ...

  10. VMware 虚拟化编程(5) — VixDiskLib 虚拟磁盘库详解之一

    目录 目录 前文列表 VixDiskLib 虚拟磁盘库 虚拟磁盘数据的传输方式 Transport Methods VixDiskLib_ListTransportModes 枚举支持的传输模式 Vi ...