列表

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

列表用 [ ] 标识,是 python 最通用的复合数据类型。

列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

例:

list 常用方法:

append list末尾追加一个元素

index 列出符合条件的list下标

insert 插入list一个元素

pop 末尾删除一个list元素

remove 删除list一个元素,如果有多个元素需要多次删除

sort   list排序

reverse list反序

切片

切片操作符在python中的原型是:

[start:stop:step] 即:[开始索引:结束索引:步长值]

开始索引:同其它语言一样,从0开始,序列从左向右方向中,第一个值的索引为0,最后一个为-1;

结束索引:切片操作符将取到该索引为止,不包含该索引的值;

步长值:默认是一个接一个切取,如果为2,则表示隔一取一的操作;步长值为正时,表示从左向右取;如果为负,则表示从右向左取;步长值不能为0。

元组

元组是另一个数据类型,类似于List(列表)。

元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

单个tuple时,元素后面需加, ,否则python解析器不会识别tuple类型

tuple 的方法:

count 统计某个元素的数量

iindex 返回某个元素的下标

字典 

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典的每个键值对(key-value)用:分割,每个对之间用, 分割;字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

字典的赋值方法有三种:

字典常用的方法:

get   返回指定键的值,如果值不在字典中返回默认值None。

setdefault

如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值。

习题:

现有列表 list1 = ['XXXX', 'b', 3, 'c', '&', 'a', 3, '3', 3, 'aa', '3', 'XXXX'] list2 = ['e', 'f', 'g']

要求对其做以下操作:

1. 取出 ‘XXXX’ 中间的部分,形成一个新的列表list3

list3 = list1[1:-1]

print list3

2. 对list3 做一下几部操作

1)删除特殊符号

del list3[4]

print list3

2)统计3 在list3中出现的次数

print list3.count(3)

3)用最简短的代码去除list3中 26个字母以外的元素(要求只能对list3操作)

# ['b', 3, 'c', 3, 'a', 3, '3', 3, 'aa', '3']

list3 = list3[0:5:2]

4)对list3排序

list3.sort()

5)在末尾追加'd',并把list2追加到list3

list3.append('d')

3. 现有两个变量 a = ('h',) b = ('h')

1)将a和b分别追加到上一题的list3中,观察有什么区别

list3.append(a)

list3.append(b)

print list3

2)将1生成的list3转换成元组(扩展:自己搜索方法)

tuple(list3)

3)打印出只有一个元素'h'的元组,在2中生成的元组中的索引

print tuple(list3).index(a)

字典的练习题:

练习: 1. 现有一个字典dict1 保存的是小写字母a-z对应的ASCII码 dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}

1) 将该字典按照ASCII码的值排序

import string

dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}

print sorted(dict1.iteritems(), key=lambda d:d[1], reverse=False)

2) 有一个字母的ASCII错了,修改为正确的值,并重新排序

dict1['o'] = 111

print sorted(dict1.iteritems(), key=lambda d:d[1], reverse=False)

2. 用最简洁的代码,自己生成一个大写字母 A-Z 及其对应的ASCII码值的字典dict2(使用dict,zip,range方法)

dict2 = dict(zip(string.uppercase,range(65,92)))

print dict2

3. 将dict2与第一题排序后的dict1合并成一个dict3

dict3 = dict(dict1, **dict2)

python 列表、元组的更多相关文章

  1. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  2. Python—列表元组和字典

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

  3. 【277】◀▶ Python 列表/元组/字典说明

    目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...

  4. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

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

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

  6. Python成长笔记 - 基础篇 (三)python列表元组、字典、集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...

  7. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  8. python 列表 元组 字典 集合

    列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...

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

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

  10. Python列表,元组,字典,集合详细操作

    菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...

随机推荐

  1. java 动态增/减集合元素

    1. 简介 有时候需要在集合遍历过程中进行增/删,下面介绍几种正确的操作方式. 2. 示例 例如有如下集合[1, 2, 2, 3, 5],需要删除被2整除的元素. import java.util.* ...

  2. spoj1026Favorite Dice

    题意翻译 一个n面的骰子,求期望掷几次能使得每一面都被掷到. 题目描述 BuggyD loves to carry his favorite die around. Perhaps you wonde ...

  3. Java 开发笔记

    共同学习,以下内容,随时更新. 前端 1.前端页面'是单引号的转义符,"是双引号.  问题(前端JS进行参数传递时,使用的是单引号扩住变量,但是变量形式为 2019-27  ...

  4. python(列表2)

    1.remove(删除指定值的元素) x = ['to','be','or','not','to','be'] x.remove('be') x ['to','or','not','to','be'] ...

  5. JS-4-if

    流程控制结构1 顺序结构 alert(10); alert(20);2 分支结构(选择结构) * IF 2.1  if(条件) { 条件成立时执行的语句 } else { 条件不成立时执行的语句 } ...

  6. 第六次java作业

    class Check{ public boolean validate(String name,String password){ if(name.equals("fuxingmen&qu ...

  7. 不同版本的IDE ,对应的选项 有变化

    xx.dproj对应的项目级选项 也不同,所以,要分别保存为不同的文件. 如果不同的IDE,打开同一个 .dproj文件,会因为 选项界面的选项不同,提示一些错误.

  8. 数据库数据迁移 SqlServer复制到mysql

    经过一番搜索,有朋友推荐用datax的,后来发现比较麻烦,需要循环每个表去复制:有推荐用Navicat的,但是方式有点行不通,会报文件打不开:无法打开Provider=SQLNCLI10.1;Pers ...

  9. mongodb数据迁移到hbase

    mongodb数据迁移到hbase 导入包 # encoding: utf-8 ''' @author: zcc @license: (C) Copyright 2013-2017, Node Sup ...

  10. python os.walk()遍历文件夹

    转自 http://alanland.iteye.com/blog/612459 via @alanland 今天第一次进行 文件遍历,自己递归写的时候还调试了好久,(主要因为分隔符号的问题),后来发 ...