Python基础入门——元组、列表、集合、字典的使用方法
2019-05-14 11:13
1121 查看
元组与列表
Python的序列类型包括字符、列表与元组等。
- 所有序列都支持迭代。
- 序列表示索引为非负整数的有序对象集合。
- 字符和元组属于不可变序列,列表可变。数据类型的可变与不可变将在下一篇博客中为大家介绍。
序列类型有12个通用的操作符和函数
操作符 | 描述 |
---|---|
x in s | 如果x是s的元素,返回True,否则返回False |
x not in s | 如果x不是s的元素,返回True,否则返回False |
s + t | 链接s和t |
s * n 或 n * s | 将序列s复制n次 |
s[j] | 索引,返回序列的第i个元素 |
s[i:j] | 分片,返回包含序列s第i到j个元素的子序列(不包含第j个元素) |
s[i:j:k] | 步骤分片,返回包含序列s第i到j个元素以j为步数的子序列 |
len(s) | 序列s的元素个数(长度) |
min(s) | 序列s中的最小元素 |
max(s) | 序列s中的最大元素 |
s.index(x[, i[, j] | 序列s中从i开始到j位置中第一次出现元素x的位置 |
s.count(x) | 序列s中出现x的总次数 |
元组
元组(tuple)是最常用的Python序列类型,且一旦创建就不能被修改,元组类型在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历等情况下十分有用。
Python中元组采用逗号和圆括号(可选)来表示。
tuple的定义与索引:
tuple()函数的使用方法:
>>> tuple([1,2,3,4]) (1, 2, 3, 4) >>> tuple({1:2,6:8}) #针对字典 会返回字典的key组成的tuple (1, 6) >>> tuple((1,2,3,4)) #元组会返回元组自身 (1, 2, 3, 4)
列表
列表(list)都可以进行的操作包括增,删,减,查,索引,切片。列表的数据项不需要具有相同的类型。
# 列表(list) #每个元素可变,元素有序且对应每个位置,可容纳任何对象 this_is_a_list = [1,'Hello world',print(1),True,[1,2]] this_is_a_list[0] this_is_a_list[3] this_is_a_list[-1] this_is_a_list[-4] # 列表的增删改查 ####增 names = ['xiaohong','xiaoming','xiaozhang'] names.insert('a') # 报错,需要指定位置 names.insert(1,'xiaoli') #在指定位置增加元素 names.insert(-1,'xiaowei') ####删 names.remove('xiaowei') names.remove(names[-2]) del names[-2] #### names.append('xiaohong') # 在列表末尾添加新对象 names.extend(this_is_a_list) # 在列表末尾追加另一个列表 names.count('xiaohong') # 计数 names.index('xiaohong') #从列表中找出某个值第一个匹配项的索引位置 ####查 names[1] names[3:] #看后面几个 names[:3] # 看前面几个 names[1:3] #指定几个 # 列表推导式 aa = [i for i in range(1,11)] a = [] for i in range(1,11): a.append(i) # for循环 print(a) aaa = [i**2 for i in range(1,11)] aaaa = [] for i in range(1,11): i **=2 # for循环 aaaa.append(i) print(aaaa)
使用 | 介绍 |
---|---|
list.append(x) | 将元素x添加至列表尾部 |
list.extend(L) | 将列表L中所有元素添加至列表尾部 |
list.insert(index,x) | 在列表指定位置index处添加元素x |
list.remove(x) | 在列表中删除首次出现的制定元素 |
list.popp([index]) | 删除并返回列表对象指定位置的元素 |
list.clear() | 删除列表中所有元素,但保留列表对象 |
list.index(x) | 返回值为x的首个元素的下标 |
list.count(x) | 返回指定元素x在列表中的出现次数 |
list.reverse() | 对列表元素进行原地倒序 |
list.sort() | 对列表元素进行原地排序(升序、降序) |
list.copy() | 返回列表对象的浅拷贝 |
除list.copy()外,列表方法均不会改变列表的id,也不会新建列表。
集合与字典
集合
集合数据类型是没有顺序的简单对象的聚集。且集合中元素不重复,只能是固定数据类型,例如:整数、浮点数、字符串、元组等,列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现。
- Python集合数据类型包括可变集合对象(set)和不可变集合对象(frozenset)
- 集合的定义:
{a,[b,...,n]}
- 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
1、创建集合对象示例:
>>>{1,2,1} {1,2} >>>{1,'a',True} {True,'a'} >>>{1,True} {True,1} >>>set() set() >>>set('Hello') >{'H','e','o','l'}
集合元素是无序的,集合的打印效果与定义顺序可以不一致。使用集合类型能够过滤掉重复元素。
2、集合操作符
集合类型有10个操作符。
操作符 | 方法 |
---|---|
S │T | 返回一个新集合,包括在集合S和T中的所有元素 |
S - T | 返回一个新集合,包括在集合S但不在T中的元素 |
S & T | 返回一个新集合,包括同时在集合S和T中的元素 |
S ^ T | 返回一个新集合,包括集合S和T中的非相同元素 |
S <= T 或 S < T | 返回True/False,判断S和T的子集关系 |
S >= T 或 S > T | 返回True/False,判断S和T的包含关系 |
S │= T | 更新集合S,包括在集合S和T中的所有元素 |
S -= T | 更新集合S,包括在集合S但不在T中的元素 |
S &= T | 更新集合S,包括同时在集合S和T中的元素 |
S ^= T | 更新集合S,包括集合S和T中的非相同元素 |
>>>s1 = {1,2,3} >>>s2 = {2,3,4} >>> s1|s2 {1,2,3,4} >>> s1&s2 {2,3} >>> s1 - s2 {1} >>> s1 ^ s2 {1,4} >>> s1.union(s2) {1,2,3,4} >>> s1.intersection(s2) {2,3} >>> s1.difference(s2) {1} >>> s1.symmetric_difference(s2) {1,4}
3、集合操作函数与方法
操作函数 | 方法 |
---|---|
S.add(x) | 如果x不在集合S中,将x增加到S |
S.discard(x) | 移除S中元素x,如果x不在集合S中,不报错 |
S.remove(x) | 移除S中元素x,如果x不在集合S中,产生KeyError异常 |
S.clear() | 移除S中所有元素 |
S.pop() | 随机返回S的一个元素,更新S,若S为空产生KeyError异常 |
S.copy() | 返回集合S的一个副本 |
len(S) | 返回集合S的元素个数 |
x in S | 判断S中元素x, x在集合S中,返回True,否则返回False |
x not in S | 判断S中元素x, x不在集合S中,返回False,否则返回True |
set(x) | 将其他类型变量x转变为集合类型 |
集合的长度、最大值、最小值、元素和
- 通过内置函len()、max()、min()、sum(),可以获得集合的长度、元素最大值、元素最小值、元素之和
集合类型主要用于三个场景:成员关系测试、元素去重和删除数据项。
4、映射类型
映射类型是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key,value),元素之间是无序的。键值对(key,value)是一种二元关系。在Python中,映射类型主要以字典(dict)体现。
字典
通过任意键信息查找一组数据中值信息的过程叫映射,Python语言中通过字典实现映射。Python语言中的字典可以通过大括号建立,建立模式:
{<键1>:<值1>,<键2>:<值2>,...<键n>:<值n>}
键和值通过冒号连接,不同键值对通过逗号隔开。
- 字典(dict)是一组键/值对的数据结构。每个键对应于一个值。在字典中,键不能重复。根据键可以查询到值。
- 字典的键只能使用不可变的对象,但字典的值可以使用不可变或可变的对象。
1、创建字典对象示例:
>>>{} {} >>>{'a':'apple','b':'boy'} {'a':'apple','b':'boy'} >>>dict() {} >>>dict({'a':'apple','b':'boy'}) {'a':'apple','b':'boy'}
- 字典打印出来的顺序与创建之初的顺序不同,这不是错误。字典是集合类型的延续,各个元素并没有顺序之分。
字典最主要的用法是查找与特定建相对应的值,这通过索引符号来实现。
>>>Dcountry["中国"] '北京'
字典中键值对的访问模式:
<值> = <字典变量>[<键>]
2、字典类型的操作:
通过中括号可以增加新的元素:
直接使用大括号({})可以创建一个空的字典,并通过中括号([])向其增加元素。
3、字典操作函数与方法
操作函数 | 方法 |
---|---|
radiansdict.clear() | 删除字典内所有元素 |
radiansdict.copy() | 返回一个字典的浅复制 |
radiansdict.fromkeys() | 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
radiansdict.get(key, default=None) | 返回指定键的值,如果值不在字典中返回default值 |
radiansdict.has_key(key) | 如果键在字典dict里返回true,否则返回false |
radiansdict.items() | 以列表返回可遍历的(键, 值) 元组数组 |
radiansdict.keys() | 以列表返回一个字典所有的键 |
radiansdict.setdefault(key, default=None) | 和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default |
radiansdict.update(dict2) | 把字典dict2的键/值对更新到dict里 |
radiansdict.values() | 以列表返回字典中的所有值 |
相关文章推荐
- 2.python基础之—列表,元组,字典,集合,字符串的使用方法
- Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)
- python入门:基础,列表、元组、字典及集合类型
- Python学习之---集合,元组,列表,字符串,字典 ---组合数据类型---使用方法
- Python 入门学习 -----变量及基础类型(元组,列表,字典,集合)
- Python快速入门(4)-列表、元组、字典、集合的使用
- Python基础之列表、元组、字典、集合的使用
- python基础系列教程——数据结构(列表、元组、字典、集合、链表)
- Python基础入门3--list集合,元组,字典
- Python基础【数据结构:列表 | 元组 | 集合 | 字典】
- 2.python基础知识(分支循环、列表、元组、字典、集合、函数)
- python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
- Day2 Python基础学习——字符串、列表、元组、字典、集合
- 兄弟连学python(02)——python 基础知识 列表、字典、元组、集合
- python基础总结二:判断语句、循环语句、字符串遍历、以及列表、元组、字典的简单使用 。
- Python入门-26、27、28、29:元组,列表,集合,字典
- python 列表、元组、字典、运算符、集合 方法总结
- python基础2(列表,元组,字典,集合,运算符)
- python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器
- Python基础 -- 02 基础语法(字符串、列表、元组、字典、set集合)