Python基础-列表、元祖、字典、字符串

列表和分组

序列概览:

数据结构是通过某种方式组织在一起的数据元素的集合。这些元素可以是数字、字符,甚至可以是其他数据结构。

在python中,最基本的数据结构是序列(sequence)。

序列中的每一个元素被分配一个序号----即元素的位置,也称为索引、下标。第一个索引是0,第二个索引是1,以此类推。

Python包含6种内建的序列,此次重点讨论最常用的两种类型:列表、元祖。其他内建序列类型包括:字符串、Unicode字符串、buffer对象和xrange对象。接下来讲解对所有序列都通用的操作。

列表和元祖的创建:

列表和元祖主要的区别在于:列表可以修改,而元祖不可修改。也就是说如果需要根据要求来添加元素,那么列表可能会更好用;而出于某些原因,序列不能修改时,使用元祖则更为合适。

创建一个列表,只要把逗号分隔的不同数据项使用方括号括起来即可;

创建一个元祖,只要把逗号隔开的不同数据项使用小括号括起来即可,如果元组里只有一个元素的话,那么你必须在这个元素后面加一个逗号,否则它不是元组。

通用序列操作:

所有序列类型都可以进行某种特定的操作。这些操作包括索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)以及检查某个元素是否属于序列的成员(成员资格),除此之外,还有计算序列长度、找出最大元素和最小元素的内建函数。

1. 索引

序列中的所有元素都是有编号的:从0开始递增。这些元素可以通过编号分别访问。这些编号就是索引。索引0指向第一个元素。

使用负数索引时,python会从右边,就是最后一个元素开始计数。最后一个元素的位置编号就是-1。

如果一个函数调用返回一个序列,那么可以直接对返回结果进行索引操作。例如你只对用户输入年份的第4个数字感兴趣:

2.分片

索引访问单个元素,分片可以访问一定范围的元素。分片通过冒号隔开的两个索引来实现。

第一个索引是要提取的第一个元素的编号,第二个索引是分片之后剩余部分的第一个元素的编号;简单来说,就是“顾头不顾尾”。

步长:进行分片的时候,默认步长为1;我们也可以显示设置步长,若步长被设置为大于1的数,则会跳过某些元素。

例如:步长为2的分片包括的是从开始到结束每隔1个的元素

步长不可以为0,会报错;但是可以为负数,此时分片从右往左提取元素。

1、当步长为正数时,开始索引要小于结束索引,否则会取到空

2、当步长为负数时,开始索引要大于结束索引,否则会取到空

3、当步长为负数,开始索引为空时,开始索引默认为最后一个索引+1

4、当步长为负数,结束索引为空时,结束索引默认为0

3.序列相加

通过使用加运算符可以进行序列的连接操作。

只有两种相同类型的序列才能进行连接操作,否则会报错:

4. 乘法

用数字X乘以序列,会生成一个新的序列。在新的序列中,原来的序列将被重复X次。

None、空列表和初始化

空列表可以简单的通过两个中括号来表示([]).

None是一个python内建值,代表“这里什么也没有”

若是想要初始化一个长度为10的列表:

5.成员资格

为了检查一个值是否在序列中,可以使用in运算符。

这个运算符检查某个条件是否为真,然后返回相应的值:条件为真,返回True;条件为假,返回False。

这样的运算符为布尔运算符,返回的值为布尔值。

6. 长度、最小值、最大值

len函数:返回序列中所包含的元素的数量

min函数:返回序列中最小的元素

max函数:返回序列中最大的元素

基本的列表操作

1.改变列表:元素赋值

使用索引标记为某个特定的、位置明确的元素赋值。

注:不能为一个位置不存在的元素进行赋值

如果一个列表长度为5,那么不能为位置为11的的元素赋值。

2.删除元素

Del语句实现删除。

列表方法

1.append

append方法适用于在列表末尾追加新的对象。

在x列表末尾新增一个值为100的对象:

2.count

count方法统计某个元素在列表中出现的次数。

统计x列表中1出现的次数:

3.index

index方法用于从列表中找出某个值第一个匹配项的索引位置。

查找x列表中值为1的元素出现的第一个位置:

查找的元素不存在时:

4.insert

在指定位置插入元素。

在‘北京’后插入‘香港’:

5.pop

移除列表中的一个指定的元素(默认是最后一个)。

移除最后一个元素、移除角标为0的元素:

pop有返回值:

6.remove

移除列表中某个值的第一个匹配项。

删除x列表中值为1的第一个元素:

无返回值,与pop相反。

7.reverse

将列表中的元素反向存放。

无返回值,与pop相反。

8.sort

在原位置对列表进行排序。(字母、汉字都可以排序。)

升序:列表名.sort();降序:列表名.sort(reverse=True)

当需要一个排好序的列表副本,同时需要保留原列表不变时,下面这种做法是错误的,因为sort方法不返回值。

最后得到的是已排序的x和空的y。

正确的做法是先把x赋值给y:

字典:

字典由多个键与其对应的值构成的键-值对组成。键与它的值之间用冒号【:】隔开,项之间用逗号【,】隔开,整个字典由一对大括号括起来【{}】。

字典中的键是唯一的,值不唯一。字典打印输出是无序的。

1.查询

d[k]:返回关联到键k上的值。

访问字典中不存在的键时会报错:

get方法:访问字典中不存在的键时,不会报错,而是得到了None。还可以自己定义“默认”值,替换None。

2.增加

d[k]=v:将值v关联到键k上。

如果键k不存在的话,新增一个键k及相应的值;

如果键k存在的话,覆盖原有的值。

Setdefault方法:类似get方法,能获得与给定键相关联的值,还能在字典中不含有给定键的情况下设定相应的键值。

当键存在时,返回与其对应的值,不改变字典;

当键不存在时,更新字典。

3.删除

del d[k] :删除键为k的项。

Pop方法:获得对应于给定键的值,然后将这个键-值对从字典中移除。

4.清空字典

clear方法:清除字典中所有的项,无返回值(或者说返回None)。

5.获取字典内容

print(d.values()) :打印所有值

print(d.keys()) :打印所有键

print(d.items()) :打印所有键和对应的值

打印嵌套字典:print(第一个字典名[‘第二个字典’][‘第三个字典’]...[‘list’])

6.循环

注意:字典元素的顺序通常无序的。

1)直接循环一个字典的话,循环的是字典的key;

如果只需要值,可以使用d.values(),

2)同时获取键及键对应的值:

7.检查d中是否含有键为k的项

print(key in d) / print(key not in d)

字符串

1.strip

返回去除两侧(不包括内部)的空格及换行(\n)的字符串:

input().strip() :去掉输入值的空格

去掉指定的值:

2.count

统计字符串出现的次数:

3.index

找出某个值第一个匹配项的索引位置。

4.find

在字符串中查找子串,返回子串所在位置的最左端的索引。如果没有找到,返回-1。

5.replace

替换字符串,将【day】换成【DAY】:

6.isdigit

判断字符串是否为纯数字

7.startswith

判断是否以某个字符串开头

8.endswith

判断是否以某个字符串结束

9.upper:返回字符串的大写字母版

lower:返回字符串的小写字母版

10.isalpha

判断字符串是否全为字

11.isalnum

判断是否包含字母和数字,只要有字母或数字就返回True

原文地址:https://www.cnblogs.com/ruijie/p/8669319.html

时间: 2024-08-01 10:16:36

Python基础-列表、元祖、字典、字符串的相关文章

python 高级数据类型(列表 元祖 字典 字符串)

高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) 真 True 非 0 数 -- 非零即真 假 False 0 复数型 (complex) 主要用于科学计算,例如:平面场问题.波动问题.电感电容等问题 非数字型 字符串 列表 元组 字典 在 Python 中,所有 非数字型变量 都支持以下特点: 都是一个 序列 sequence,也可以理解为 容

字符串 数字 列表 元祖 字典 的不同分类and集合的概念

可变不可变 1.可变:列表 字典 2.不可变:字符串 数字 元祖 访问顺序: 1.顺序访问:字符串 列表 元祖 2.映射:字典 3.直接访问:数字 存放元素个数: 容器类型:列表 元祖 字典 原子:数字 字符串 id(变量名)可以查出储存的位置 s={1,2,3,3,9,8,8} print(id(s)) 41383080 集合(set): 1.不同元素组成 2.无序 3.集合中元素必须是不可变类型 例如: s={1,2,3,3,9,8,8} print(type(s)) 输出 <class '

python学习day-3 列表 元祖 字典

一.列表list a.基础 1. li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True] 中括号括起来:,分割每个元素:列表中的元素可以是数字,字符串,列表,布尔值......:列表可以嵌套 (他就是个集合,内部放置任何东西) 2.可以进行索引,切片取值 li = [1, 12, 9, "age", ["

python,列表/元祖/字典

1.格式 li=[1,2,3,'a','b','c']#list列表 tu=(1,2,3,'a','b','c',)#tuple元祖 info={ 'k1':'v1', 'k2':'v2' }#字典,键值对key/value,其中vaule可以是任意值#列表.字典.bool不能做key,元祖.数字可以 2.键值对函数 info.items( ) 3.字典常用函数 1 dic1=info.fromkeys(['k1','k2'],99) 2 #根据序列创建字典,指定统一value 3 print(

每日练习0424---函数和列表 元祖 字典的习题 sort和sorted总结

18.要求实现一函数,该函数用于求两个集合的差集,结果集合中包含所有属于第一个集合但不属于第二个集合的元素 def diff_set(s1,s2): diff_list=[] for i in s1: if i not in s2: #遍历s1,判断是否在s2中,若不在添加到新的列表中 diff_list.append(i) return set(diff_list) print(diff_set({1,2,5,9},{2,3,5})) #19.找出一段句子中最长的单词及其索引位置,以list返

16、python基础学习-元祖

1 #!/usr/bin/env python 2 #__author: hlc 3 #date: 2019/5/26 4 #元祖被称为只读列表,即数据可以被查询,不能被修改,切片的方式同样适用于元祖 5 #元祖写在小括号里面,使用逗号隔开,元祖中可以包含列表,不想被修改可以使用元祖 6 #元祖中一个值也需要在后面添加一个逗号,(3,) 7 8 # a = (1,2,3,4,5,6,7) 9 # b = a[0:3] #对元祖a进行切片 10 # print(b) #(1, 2, 3) 11 1

python基础--4 元祖

#元组,元素不可被修改,不能被增加或者删除 #tuple,有序 tu=(11,22,33,44,55,33) #count 获取指定元素在元祖中出现的次数 print(tu.count(33)) #index获取元素的下标值,可以设置起始和结束位置 print(tu.index(33,3,8)) tu=(1,2,3,3,(455,666,888,),({"11":22,"name":"han"})) v=list(tu)#通过类型转换修改原来tu

python笔记整理--元祖和字符串

元组: tank = ("T-34","Tiger","M4","Firefly","IS-3","KV-2","T-34") print (tank.count("T-34")) print (tank.index("Tiger")) print (tank.index("KV-2")) #元组是一种赋值后

python中的元祖与字典

元祖的介绍 python中的元祖与列表类似,不同之处在于元祖的元素不可修改.元祖使用小括号,列表使用方括号 <1>访问元祖                                    执行结果: <2>修改元祖                                         执行结果: 说明:python中不允许修改元祖的数据,包括不能删除其中的值 <3>元祖的内置函数count.index index和count与字符串和列表中的用法相同 例

序列,列表,元祖,字符串

可变的列表 data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; data[0] = "a" #修改元素.print(data)data[0] = 0 del data[10] #删除元素.print(data) del data[8:] #分片删除.print(data) data[8:] = [8, 9, 10] #分片赋值print(data) 序列 这里先介绍三种序列:列表.元祖和字符串. 序列通用操作 seq = "012345678