一:列表(list)

  列表是由一系列按特定顺序排列的元素组成,可以创建包含字母表中的所有字母、数字、或中文的列表,也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。

  在Python中,用方括号[]来表示列表,并用,来分割列表中的元素,如

name=[1,2,3,"cc",[33,44]]        //列表可以嵌套任何类型,

  列表的取值

name=[1,2,3,"cc",[33,44]]
print(name[0]) ##通过索引的方式
name=[1,2,3,"cc",[33,44]]
print(name[1:-1]) ##通过切片的方式,注意:切片取前不取后

  列表的修改

name=[1,2,3,"cc",[33,44]]
name[0]=3
print(name) ##通过索引赋值,可以修改列表中元素的值
##################
name[0:2]=[4,5,6]
print(name) ##同样的,也可以通过切片的方式批量修改元素值 

  补充一下:字符串一旦创建,就不能修改,一旦修改或者拼接,都会造成重新生成字符串。列表可以进行修改。

二:列表的方法(详解)

  1、append

name=[1,2,3]
name.append("czp")
print(name)            //追加,将元素追加到列表的最后

  2、clear

name=[1,2,3]
print(name.clear()) #清空列表,返回值为None

  3、copy

name=[1,2,3]
v=name.copy()
print(v) #浅拷贝,后面的博客会详细介绍深、浅拷贝

  4、count

name=[1,2,3,2,2]
print(name.count(2)) #计算元素出现的次数

  5、extend

name=[1,2,3]
name.extend([11,22])
print(name) ##扩展原列表元素,输出结果:[1, 2, 3, 11, 22]
#与append的比较
name.append([11,22])
print(name) ##追加列表元素,输出结果:[1, 2, 3,[11, 22]]

  6、index

name=[1,2,3]
print(name.index(1)) #获取当前元素的索引位置(左边优先)

  7、insert

name=[1,2,3]
name.insert(0,"czp")
print(name) #插入,可指定插入元素的索引位置

  8、del、pop、remove

name=[1,2,3]
# name.pop(1)
# print(name) #删除,可指定索引位置删除元素,默认是最后一个
# #----------------------------------------------------------------------------------
# name.remove(3)
# print(name) #删除,remove方法中需要指定删除的元素,如果元素不在该列表中,则会报错
#----------------------------------------------------------------------------------
print(name)
del name[1]
print(name) #删除,通过直接添加索引位置的方式

  9、reserve

name=[1,2,3]
name.reverse()
print(name) #反转,将列表中的元素从最后一个元素开始输出

  10、sort

name=[2,1,3]
name.sort()
print(name) #排序,后面会讲到和sorted的区别

  11、字符串与列表之间的相互转化

  将字符串转换成列表,可以理解为将字符串中的每一个字符进行一个for循环,每一个字符作为一个元素放置于列表中,如

name="czp"
l=list(name)
print(l)
输出结果:
['c', 'z', 'p']

  而如果将列表转化为字符串,就需要自己些for循环来完成这一需求,对于既有数字,又有字符的,如下:

name=["c","z","p",11]
s=""
for i in name:
s=s+str(i)
print(s)
输出结果:
czp11

  对于只有字符串的,可以更简便的通过jion方法来实现,如下:

name=["c","z","p",""]
print("".join(name))
输出结果同样为:czp11

二:元组(tuple)

  元组其实就是不可变列表,一旦创建,便不能更改,元组的创建方式使用()的方式,如下

name=(1,2,3,)
print(type(name)) 输出结果为<class 'tuple'>

  元组的方法就很少了,只有两个,一个index和count,用法和列表的用法一样,在这里就不重复介绍了。

  在创建元组的时候,推荐在最后一位元素后加上个“,”,以便于区分。另:元组是有序的

三:字典(dict)

  字典就是一种key-value对的形式,字典是无序的,因为字典中的key必须是唯一的,所示字典这种数据类型可以理解为是自动去重的,字典的value可以是任意值,字符串,数字,列表,字典等等。布尔值、列表、字典不可以作为字典的key

  字典的定义方式用 {} 来表示,如下:

name={
"zhao":11,
"qian":12,
"sun":13,
} 可以看到,字典中都是key-value对的形式

  字典这种数据类型常用的方法有:

  1.clear()

print(name.clear())       清除字典中的数据,输出结果为none

  2.fromkeys()

print(name.fromkeys(["c","z","p"],100))   创建字典,通过列表的方式指定多个key,并将这些key赋予相同的值
输出结果为:
{'c': 100, 'z': 100, 'p': 100}

  3.get()

# v = dic['k11111']
# print(v)
# v = dic.get('k1',111111)
# print(v) 根据Key获取值,key不存在时,可以指定默认值(None)

  4.pop

name={
"k1":"v1",
"k2":"v2"
}
name.pop("k1") //删除,指定删除的key,如果存在,删除,如果key不存在,报错
print(name)
输出结果:
{'k2': 'v2'}

  5.popitem

dic={
"k1":"v1",
"k2":"v2"
}
print(dic.popitem()) Python 字典 popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)。如果字典已经为空,却调用了此方法,就报出KeyError异常
输出结果:
{'k2': 'v2'}

  6.update

dic = {
"k1": 'v1',
"k2": 'v2'
}
dic.update({'k1': ''}) 更新
print(dic)
运行结果:
{'k1': '', 'k2': 'v2'}

  字典的for循环

for i in dic.keys():                     输出字典中所有key的值
print(i)
for i in dic.values():           输出字典中所有value的值
print(i)
for k,v in dic.items():           输出字典中所有的key对应的value值
print(k,v)

  列表、元组、字典都可以通过切片的方式进行增删改查。

Pyhton编程(五)之基本数据类型-列表、元组、字典的更多相关文章

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

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

  2. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  3. python-列表、字典、元组的员工信息处理接口(第二篇(五):基于列表、字典和元组的员工信息处理接口)

    Python之旅]第二篇(五):基于列表.字典和元组的员工信息处理接口 python 列表 字典 元组 员工信息处理接口 摘要: 1.基本需求     编写一个查询员工信息表的程序,实现如下功能: ( ...

  4. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

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

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

  6. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

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

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

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

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

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

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

  10. Python摸爬滚打之day04----基本数据类型(列表,元组)

    1.列表 列表是可变的, 有序的数据类型,列表是按照添加顺序来保存的,可以存放各种数据类型. 1.1    列表的切片(同字符串) 1.2    列表的增删改查 注意: 列表是可以直接在列表上面进行操 ...

随机推荐

  1. win10 UWP 全屏

    win10 可以全屏软件或窗口,窗口有一般.最小化.最大化.我们有新的API设置我们软件是全屏,是窗口.我们可以使用ApplicationView让我们软件全屏,取消. 下面是一个简单的例子,判断我们 ...

  2. nodejs项目管理之supervisor||pm2||forever

    supervisor 是开发环境用. forever 管理多个站点,每个站访问量不大,不需要监控. pm2 网站访问量比较大,需要完整的监控界面. supervisor 特点: 代码修改,实时重启 安 ...

  3. 【ASP.NET MVC 学习笔记】- 01 理解MVC模式

    本文参考:http://www.cnblogs.com/willick/p/3195560.html 1.MVC模式是软件系统的一种架构模式,它将软件分为三大模块: 模型(Model):封装业务逻辑以 ...

  4. OSW 快速安装部署

    关于在运行Oracle的环境下部署OSW具体好处不再多说,只需要知晓,在日常Oracle定位各类故障,osw的数据可以协助诊断问题.MOS很多文档也多处提到需要osw的监控数据. 一.前期资料准备 1 ...

  5. C++继承(07)

    继承 通过特殊化已有的类来建立新类的过程,叫做“类的派生”,原来的类叫做“基类”,新建立的类则叫做“派生类”.另一方面,从类的成员角度看,派生类自动地将基类的所有成员作为自己的成员,这叫做“继承”.基 ...

  6. 使用原生php读写excel文件

    最近在工作中遇到一个需求,需要将数据库中的数据导出到excel文件中,并下载excel文件.因为以前没做过,所以就百度了一下, 网上说的大多是使用PHPExcel类来操作excel文件,这还要去下载这 ...

  7. 阿里巴巴Java开发手册思维导图

    趁着有时间把阿里巴巴Java开发手册又看了一遍了,很多时候觉得看完之后,发现自己好像一点都不记得了里面的内容了.只能把大概内容画一遍在脑子里形成一张图方便记忆,这样就更能够记得自己的看完的内容了.其中 ...

  8. 关于mysql的临时表并行的问题

    mysql的临时表并行是没问题的 以为临时表是基于会话的 1.因为在mysql里面每个会话的sessionid 不一样 2.其实就是会话级别的临时表  DB2里面有会话级别 全局级别的临时表,Orac ...

  9. trait与policy模板技术

    trait与policy模板技术 我们知道,类有属性(即数据)和操作两个方面.同样模板也有自己的属性(特别是模板参数类型的一些具体特征,即trait)和算法策略(policy,即模板内部的操作逻辑). ...

  10. C++获取Windows7 32位系统中所有进程名(类似于任务管理器中的进程)

    代码是网上查找资料,然后自己调试,修改之后可以运行. 系统:win7 32位,VS2008 ------------------------------------------------------ ...