Python 列表(List)

  列表是最常用的Python数据类型;

  列表中的数据项不需要具有相同的类型;

  列表也叫做数组,定义时使用[];

  通过下标访问列表中的元素,下标从 0  开始计数

  列表的增、删、改、查

  增:

 fruit = ['apple','orange','banana']
s = 'grape'
fruit.append(s) # 从末尾插入
print(fruit) # ['apple', 'orange', 'banana', 'grape']

  删:

 fruit = ['apple','orange','banana','plum','fig','cherry','watermelon']
fruit.remove('banana') # 删除指定元素
print(fruit) # ['apple', 'orange', 'plum', 'fig', 'cherry', 'watermelon'] del fruit[1] # 删除指定位置的值
print(fruit) # ['apple', 'plum', 'fig', 'cherry', 'watermelon'] fruit.pop() # 不传入下标,是删除最后一个值;传入下标,删除的是指定位置的值
print(fruit) # ['apple', 'plum', 'fig', 'cherry'] fruit.clear() # 清空列表
print(fruit) # []

  改:

 fruit = ['apple','orange','banana','plum','fig','cherry','watermelon']
fruit[2] = 'strawberry' # 修改指定位置的值
print(fruit) # ['apple', 'orange', 'strawberry', 'plum', 'fig', 'cherry', 'watermelon']

  查:

 fruit = ['apple','orange','banana','plum','fig','cherry','watermelon']
print(fruit[0]) # 获取第0个元素 apple
print(fruit[-1]) # -1 代表最后一个元素 watermelon

  切片:

 fruit = ['apple','orange','banana','plum','fig','cherry','watermelon']
print(fruit[1:3]) # 取下标1到下标 3 之间的值 ,顾头不顾尾 ['orange', 'banana']
print(fruit[1:-1]) # 取下标1到-1 之间的值 顾头不顾尾 ['orange', 'banana', 'plum', 'fig', 'cherry']
print(fruit[3:]) # 取从第二个下标开始的后面所有元素 ['plum', 'fig', 'cherry', 'watermelon']
print(fruit[::2]) #这个代表取所有的元素,然后每隔2个元素取一个 ['apple', 'banana', 'fig', 'watermelon']

Python 元组

  元组和列表一样,唯一不一样的是,元组的值不能改变;元组的定义用小括号 ()

Python 集合

  set是一个无序不重复元素集,集合的最好应用是去重。 

 a = [1,1,2,2,3,3]
a_set = set(a)
print(a_set) # {1, 2, 3}

字典:

 字典的定义用大括号{ },每个值用 ”,“ 逗号隔开,key和value使用 ”:“ 冒号分隔
字典的特性:
字典是无序的,因为它没有下标,用key来当索引,所以是无序的
字典的key'必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重
 info = {
'name':'xiaoming',
'sex':'nan',
'age':20,
'id':1
}
 print(info['name'])#通过key取值
print(info.get('addr')) # 通过get取值,取不到key时不会报错,会返回 None
# print(info['addr'])#通过key取值 []中取值找不到key的时候会报错KeyError: 'addr'
print(info.get('id'))#通过key取值
print(info.get('addr','beijing'))#通过key取值

增:

 # 给字典新增一个值 === 列表中不可以这样写
info['addr'] = 'beijing'
print(info) # {'name': 'xiaoming', 'sex': 'nan', 'age': 20, 'id': 1, 'addr': 'beijing'} # 给字典新增一个值
info.setdefault('phone',13511111111)
print(info) # {'name': 'xiaoming', 'sex': 'nan', 'age': 20, 'id': 1, 'phone': 13511111111}

删:del、pop()、popitem()、clear()

 del info['id']
print(info) # {'name': 'xiaoming', 'sex': 'nan', 'age': 20} info.pop('name')
print(info) #{'sex': 'nan', 'age': 20, 'id': 1} info.popitem() # # 随机删除一个元素 info.clear() # 清空字典

查:

 # 字典的查询
infos = {'marry':[18,18612512981,'北京'],'amy':[20,18612512991,'山东'],'lily':[25,18612532981,'河南']}
print(infos.get('maryy'))#获取marry的信息,这种方式如果key不存在的话,会返回None。 None
print(infos['marry'])#获取marry的信息,这种方式如果key不存在的话,会报错。 [18, 18612512981, '北京']
print('marry' in infos) #判断marry是否在这个字典中,返回True或者False。 True
 all = {
'car':{
'color':['red','yellow','black'],
'money':11111,
'pailaing':'2.5L',
'name':'A'
},
'car1':{
'color':['red','yellow','black'],
'money':11111,
'pailaing':'2.5L',
'country':'china'
},
'car2':{
'color':['red','yellow','black'],
'money':11111,
'pailaing':'2.5L'
}
}

在car1中添加颜色:orange

 # car1中加一个颜色
all.get('car1').get('color').append('orange')
print(all) all.get('car').get('color')[1] = 'orange' # 将car中的yellow改成orange
 # 返回字典里所有的key
print(all.keys())# 返回字典里的所有的key
print(all.values())# 获取字典里的所有的value
print(all.items())# 获取字典的key和value,循环的时候用

字典的合并:

 info = {
'name':'xiaoming',
'sex':'nan',
'age':20,
'id':1
}
info2 = {
'name':'hhh',
'sex':'nan'
}
# 把两个字典合并到一起,如果有一样的key,那么更新value
info.update(info2)
print(info) # {'name': 'hhh', 'sex': 'nan', 'age': 20, 'id': 1}

字典的循环:

 # 直接循环字典,循环的是字典的key,如果想循环的时候同时获取到key和value, 那么就要用 .items()方法
print(info.items()) # dict_items([('name', 'xiaoming'), ('sex', 'nan'), ('age', 20), ('id', 1)]) # 第一种方法
# items 方法的作用就是为了让你循环的时候同时把key和value取到
for k,v in info.items():
print('%s is %s'%(k,v)) # 第二种方法
for k in info2:#这种方式效率比较高
print(k,info2[k])

字典中判断key是否存在

 Python3中直接用 in 来判断 key 是否存在
print('name' in info2) # True

字典的内置方法:

 # 字典的内置方法
print(info.values())#打印所有value。 dict_values(['xiaoming', 'nan', 20, 1])
print(info.keys())#打印所有的key。 dict_keys(['name', 'sex', 'age', 'id'])
print(info.setdefault('stu1','盛夏'))#如果这个key存在的话,那就不动它,不存在的话,添加一个。 盛夏
dic2 = {'stu1':'sriba','stu10':'baidu'}
info.update(dic2)#更新字典值,如果key存在的话,就更新,不存在的话就添加
print(info.items())#字典转换成一个list 。 dict_items([('name', 'xiaoming'), ('sex', 'nan'), ('age', 20), ('id', 1), ('stu1', 'sriba'), ('stu10', 'baidu')])

Python中列表、元组、集合、字典的更多相关文章

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

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

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

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

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

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

  4. Python中列表(list)、字典(dict)排序的程序

    Python3 中的排序,在 Sorting HOW TO 中已经讲得很清楚了.来个实际的例子,对下面的这个 list 依据创建时间排序: pages = [{'title': '十年学会程序设计', ...

  5. python中列表 元组 字符串如何互相转换

    python中有三个内建函数:列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示: >>> s = "xxxxx ...

  6. Python中列表生成式和字典生成式练习

    (一)列表生成式 练习一:编写名为collatz(number)的函数:实现的功能:参数为偶数时,打印number// 2;参数为奇数时,打印3*number + 1 解析: number = int ...

  7. python中列表元组字符串相互转换

    python中有三个内建函数:列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示: >>> s = "xxxxx ...

  8. python中列表排序,字典排序,列表中的字典排序

    #-*- encoding=utf-8 -*- # python3代码 import operator 一. 按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} 1 ...

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

    参考文档https://blog.csdn.net/Yeoman92/article/details/56289287 理解Python中列表,元组,字典,集合的区别 列表,元组,字典,集合的区别是p ...

  10. Python—列表元组和字典

    Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...

随机推荐

  1. Apache commons(Java常用工具包)简介

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问http://jakarta.apache.org/commons/index.html Be ...

  2. Android之Activity生命周期详解

    Activity的生命周期方法: onCreate()--->onStart()--->onResume()--->onPause()--->onStop()--->on ...

  3. 设备指纹(Device Fingerprinting)是什么?

    简单来讲,设备指纹是指可以用于标识出该设备的设备特征或者独特的设备标识.设备指纹因子通常包括计算机的操作系统类型,安装的各种插件,浏览器的语言设置及其时区 .设备的硬件ID,手机的IMEI,电脑的网卡 ...

  4. 70. Climbing Stairs爬楼梯

    网址:https://leetcode.com/problems/climbing-stairs/ 其实就是斐波那契数列,没什么好说的. 注意使用3个变量,而不是数组,可以节约空间. class So ...

  5. 三大平衡树(Treap + Splay + SBT)总结+模板[转]

    Treap树 核心是 利用随机数的二叉排序树的各种操作复杂度平均为O(lgn) Treap模板: #include <cstdio> #include <cstring> #i ...

  6. 最新jquery+easyui_api培训文档

    目  录 1 Accordion(可折叠标签) 2 1.1 实例 2 1.2 参数 3 2 DateBox(日期框) 4 2.1 实例 4 2.2 参数 6 2.3 事件 6 2.4 方法 6 3 C ...

  7. Ubuntu16.10下使用VSCode开发.netcore

    按照通常的套路,首先创建一个空白的解决方案,需要用到.netcore sdk命令: dotnet new sln -o dotnetcore_tutrorial 这个时候可以看到在目标目录下生成了一个 ...

  8. laravel文件上传(本人使用的ftp驱动配置,本地测试总结)

    1.电脑端在:控制面板->程序和功能->打开和关闭Window功能,安装:Internet信息服务的(Ftp服务器,web管理工具的IIS管理服务,万网服务的常见http功能) 2.在电脑 ...

  9. Oracle exists 和not exists 用法详解

    有两个简单例子,以说明 “exists”和“in”的效率问题 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; ...

  10. xml解析与生成的学习资料

    xml解析与生成的学习资料:http://blog.csdn.net/u012325167/article/category/6129813 ----------------------------- ...