IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> (python学习)列表,元组,字符串,字典,集合辨析 -> 正文阅读

[Python知识库](python学习)列表,元组,字符串,字典,集合辨析

初学python,序列类型太多容易混淆,此篇文章自用于记忆理解。

1. 创建序列

列表list:[],创建后元素可修改。

元组tuple:(),只有一个元素时,需要在元素后面加逗号。创建后元素不可直接更改。

字符串str:' '或" ",如果字符串中需出现引号,可用转义字符\。

字典dict:{元素1,元素2,...},每个元素由key:value组成。

集合set:{元素1,元素2,...},创建空集合时只能用s = set(),因为s = {}是创建空字典,注意集合中元素无序不重复

lst = ['a','b',1,3]
tup = ('apple',['q',6,123],'banana')
str = 'hello , good morning'
dict =  {'c':100,'python':90,'c++':85}
basket = {'apple','orange','pear'}

2.添加元素

①列表添加元素

list.append(obj) :只接受一个参数;

list.extend(seq)) :在列表末尾增加另一个序列;(append是把一个obj添加在列表后面,extend是把一个序列的所有元素扩展到列表后面)

list.insert(index,obj):在编号index位置前插入obj;

列表之间直接用“+”号。

②元组添加元素

由于元组有不可更改的性质,因此不能直接给元组赋值,但如果元组中有的元素是可更改的(比如tup中有列表元素),则可以更改该元素。

元组之间直接用“+”号

lst=[1,2,3]
print(lst+[4,5,6])   

#[1,2,3,4,5,6]

tup=(1,2,3,[4,5])
tup2=(6,)
print(tup+tup2)
tup[3][1]=7
print(tup)

#(1,2,3,[4,5],6)
#(1,2,3,[4,7])

③字符串添加元素

字符串之间直接用“+”号连接

④字典添加元素

dic.update(dic2):将dict2的key:value更新到字典dic中。

⑤集合添加元素

set.add(elmnt):如果元素已存在则无操作;

set.update(set2):添加set2中的元素到set1中,重复元素忽略。

3.删除元素

list.remove(obj):移除列表中obj的第一个匹配项;

list.pop([index=-1]):移除列表中指定某个元素,默认index=-1即最后一个元素;

del list[var1:var2]:[ ]中为list的切片。

dict.pop(key[,default]):删除字典给定键值key对应的值,返回值为被删除的value,如果key不存在,则返回default值;

del dict[key]:删除字典给定键key对应的值;

dict.popitem():随机返回并删除字典中的一对键和值;

dict.clear():删除字典内所有元素。

set.remove(item):删除集合中指定元素,若不存在则报错;

set.discard(value):删除指定元素,若不存在不会报错;

set.pop():随机移除一个元素。

4.序列计算

①切片

切片通用写法:start : stop : step

只有序列字符串有切片:

week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(week[1:4:2]) 
# ['Tuesday', 'Thursday']

str1 = 'I Love LsgoGroup'
print(str1[:6]) # I Love
print(str1[5]) # e
print(str1[:6] + " 插入的字符串 " + str1[6:]) 
# I Love 插入的字符串 LsgoGroup

②常用操作符

列表:等号操作符==、连接操作符+、重复操作符*、成员关系操作符in、not in;

元组:比较操作符、逻辑操作符、连接操作符+、重复操作符*、成员关系操作符in、not in;

字符串:比较操作符;

字典、集合:无。

5.内置方法

①列表list

list.count(obj):统计obj在列表中出现的次数;

list.index(x[,start[,end]]):从列表中找到x的第一个匹配值,返回其索引位置,start、end可以设置查找开始/结束位置;

list.reverse():反向列表中元素;

list.sort(key=None,reverse=False):对列表进行排序,key表示用来比较的元素,reverse = True表示降序排列,默认为False为升序排列。

②元组tuple

元组大小和内容都不可更改,只有count和index两种方法。

t = (1, 10.31, 'python')
print(t.count('python')) # 1
print(t.index(10.31)) # 1

③字符串

str.capitalize():将字符串的第一个字符转换为大写;

str.lower():转换字符串中所有大写字符为小写;

str.upper():转换字符串中所有小写字符为大写;

str.swapcase():将字符串中大写转换为小写,小写转换为大写;

str.count(obj,beg=0,end=len(string)):返回str中obj出现的次数,beg\end确定指定查找范围;

str.endwith(suffix,beg=0,end=len(string)):检查字符串是否以suffix结束,如果是,返回True;

str.startwith(substr,beg=0,end=len(string)):检查字符串是否以substr开始,如果是,返回True;

str.find(obj,beg=0,end=len(string)):检测obj是否包含在字符串中,如果是,返回索引值;

str.rfind(obj,beg=0,end=len(string)):与find()类似,从右往左查找;

str.isnumeric():检测字符串中是否只包含数字字符,如果是,返回True;

str.replace(old,new[,max]):把字符串中的old替换为new,max为最多替换次数;

format格式化函数:

str = "{0} Love {1}".format('I', 'Lsgogroup') # 位置参数
print(str) # I Love Lsgogroup
str = "{a} Love {b}".format(a='I', b='Lsgogroup') # 关键字参数
print(str) # I Love Lsgogroup
str = "{0} Love {b}".format('I', b='Lsgogroup') # 位置参数要在关键字参数之前
print(str) # I Love Lsgogroup
str = '{0:.2f}{1}'.format(27.658, 'GB') # 保留小数点后两位
print(str) # 27.66GB

④字典

dict.fromkeys(seq[,value]):创建一个新字典,字典的键为seq,初始字典的值为value,默认为None;

dict.keys():返回一个可迭代对象,可以使用 list() 来转换为列表,列表为字典中的所有键;

dict.value():返回一个可迭代对象,可以使用 list() 来转换为列表,列表为字典中的所有值;

dict.items():以列表返回可遍历的(键,值)元组数组;

dic = {'Name': 'lsgogroup', 'Age': 7}
print(dic.keys()) # dict_keys(['Name', 'Age'])
lst = list(dic.keys()) # 转换为列表
print(lst) # ['Name', 'Age']

dic2 = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
print("字典所有值为 : ", list(dic2.values())) 
# 字典所有值为 : [7, 'female', 'Zara']

print("Value : %s" % dic.items()) 
# Value : dict_items([('Name', 'Lsgogroup'), ('Age', 7)])
print(tuple(dic.items())) 
# (('Name', 'Lsgogroup'), ('Age', 7))

dict.get(key,default=None):返回指定key的值,如果key不在字典中返回默认值;

dict.setdefault(key,default=None):与get() 类似, 如果key不在字典中,将会添加key并将值设为默认值;

key in dict / key not in dict :判断key是否在dict中;

dict.copy():返回一个字典的浅复制;

⑤集合

交集:set.intersection(set1,set2,...)、set1&set2 返回两个集合的交集;

? ? ? ? ? ?set.intersection_update(set1,set2,..):交集,在原始集合上移除不重叠元素;

并集:set.union(set1,set2,...)、set1|set2 返回两个集合的并集;

差集:set1.difference(set2)、set1-set2:返回集合的差集;

? ? ? ? ? ?set.difference_update(set2):差集,在原始集合上移除元素,无返回值;

异或:set.symmetric_difference(set)、set1^set2 返回集合的异或;

? ? ? ? ? ?set.symmetric_difference_update(set2):移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定 集合中不同的元素插入到当前集合中。

包含:set.issubset(set2)、set1<=set2:判断集合1是否包含于集合2,如果是,返回True;

? ? ? ? ? ?set.issuperset(set2)、set1>=set2:判断集合2是否包含于集合1,如果是,返回True;

相交:set.isdisjoint(set2):判断两个集合是不是不相交,如果不相交,返回True;

6.序列转换

list(sub):把一个可迭代对象转换为列表;tuple(sub)、str(obj)同理;

len(s):返回s长度或元素个数;

max(sub):返回序列中的最大值;

min(sub):返回序列中的最小值;

sum(iterable[,start=0]):返回序列iterable与可选参数start的总和;

reversed(seq):返回一个反转迭代器;

enumerate(sequence, [start=0]):遍历seq

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 00:20:01  更:2021-07-14 00:20:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 15:23:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码