一.概念
字符串string:一系列字符,使用引号来创建“”
列表list:一系列按特定顺序排列的元素组成,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可[]
元组tuple:与列表类似,在括号中添加元素,并使用逗号隔开即可,关键在于逗号,单元素后需加逗号 ()
集合set:一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合
字典dictionary:字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。
二.综合对比
1.创建

>>> c=''
>>> len(c)
0#允许空字符串的存在,不包含任何字符且长度为0 ,len()用于计算字符串含有多少字符
>>> not ''
True#空字符串为假
>>> str([1,2,3])
'[1, 2, 3]'
>>> str(True)
'True'
>>>
>>> resum ='''name = "wuhzigao" company = "hbsf"'''
>>> resum
'name = "wuhzigao" company = "hbsf"'#连续三个单引号或者双引号,可以帮助我们创建多行字符串
----------------------------------------------------------------
>>> b=[]
>>> type(b)
<class 'list'>
print(list())
>>> []#创建空列表
>>> a=[1,'asd',[1,2,3],(1,2,3),{2,3,4,5},{1:2,3:4},True]
>>> type(a)
<class 'list'>#列表中可以是任意数据类型
----------------------------------------------------------------------
>>> a=()
>>> type(a)
<class 'tuple'>
print(tuple())
>>>()#创建空元组
>>> a=1,'asd',[1,2,3],(1,2,3),{2,3,4,5},{1:2,3:4},True
>>> type(a)
<class 'tuple'>#元组中可以是任意数据类型,且可不带括号
>>> a=('asghh',)
>>> type(a)#单元素需要带逗号
------------------------------------------------------------------------
print(set())
>>>set()#创建空集合只能用这种方法,因为{}为字典
>>> a={1,'asd',(2,2,3),True}
>>> type(a)
<class 'set'>#集合中数据类型只能是不可变的数字、元组、字符串,不能是可变的列表、字典、集合
>>> a=set(range(10))
>>> print(a)#使用range创建集合
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
-------------------------------------------------------------------------
>>> a={}
>>> type(a)
<class 'dict'>
print(dict())
>>>{}#创建空字典
>>> a={'gdh':1,False:'asd',3:[1,2,3],(23,'qwer'):(1,2,3),2:{2,3,4,5},3:{1:2,3:4},4:True}
>>> type(a)
<class 'dict'>#值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组
>>> a=dict(spam=1,egg=2,bar=3)#括号中参数需为可迭代对象
>>> print(a)
{'spam': 1, 'egg': 2, 'bar': 3}#通过关键字dict和关键字参数创建
>>> print(dict([('spam',1),('egg',2),('bar',3)]))
{'spam': 1, 'egg': 2, 'bar': 3}#通过二元组列表创建
>>> dic = dict(zip('abc', [1, 2, 3]))
>>> dic
{'a': 1, 'c': 3, 'b': 2}#dict和zip结合创建
>>> dic = {i:2*i for i in range(3)}
>>> dic
{0: 0, 1: 2, 2: 4}#通过字典推导式创建
>>> dic = dict.fromkeys(range(3), 'x')
>>> dic
{0: 'x', 1: 'x', 2: 'x'}#通过dict.fromkeys()创建,通常用来初始化字典, 设置value的默认值

2.索引(访问)

>>> suoyin='cdgshjadjkhsd1223'
>>> suoyin[4]
'h'
>>> type(suoyin[4])
<class 'str'>
>>> suoyin[-1]
'3'                                                      字符串
-------------------------------------------------------------------------->>> a=[1,'asd',[1,2,3],(1,2,3),{2,3,4,5},{1:2,3:4},True]
>>> a[5]
{1: 2, 3: 4}
>>> a[-3]
{2, 3, 4, 5}                                             列表
---------------------------------------------------------------------------
>>> a=(1,'asd',[1,2,3],(1,2,3),{2,3,4,5},{1:2,3:4},True)
>>> a[3]
(1, 2, 3)
>>> a[-7]
1                                                        元组
-----------------------------------------------------------------------------
>>> a={1,2,2,3,4,5,6,7,4}
>>> print(a)
{1, 2, 3, 4, 5, 6, 7}
>>> a[1]
Traceback (most recent call last):File "<pyshell#65>", line 1, in <module>a[1]
TypeError: 'set' object does not support indexing
#集合无序且不重复,不支持索引                                集合
-------------------------------------------------------------------------------------------------
>>> a={'gdh':1,False:'asd',3:[1,2,3],(23,'qwer'):(1,2,3),2:{2,3,4,5},3:{1:2,3:4},4:True}
>>> a[0]#访问键False
'asd'
>>> a[3]#在字典中,有至少两个成员的键相同,但是键对应的值是不同的,在这种形式形式中在后来赋给键的值将成为键的真实值
{1: 2, 3: 4}
>>> a[8]
Traceback (most recent call last):File "<pyshell#69>", line 1, in <module>a[8]
KeyError: 8
>>> a[3][1]
2#访问a[3]值为{1: 2, 3: 4},再访问键[1]即为2                字典

2.更新(增删查改)、长度

>>> a='adhjkliu'
>>> len(a)
8
>>> a[3]='l'
Traceback (most recent call last):File "<pyshell#9>", line 1, in <module>#不支持字符串内元素修改a[3]='l'
TypeError: 'str' object does not support item assignment
>>> b=a[3]+'ong'
>>> print(b)
jong#只能这样以字符串拼接方式更改
>>> a='abc'
>>> 'a' in a #检查成员
True
>>> 'ab' in a
True
>>> 'ac' in a
False
>>> 'a b' in a
False
---------------------------------------------------------------------------------
>>> a=[1,2,3]
>>>len(a)
3
>>> a[2]=4
>>> print(a)
[1, 2, 4]#更新元素/修改
>>> a.append('4')
>>> print(a)   #在列表末尾添加元素
[1, 2, 3, '4']
b=[1,2,3,4,5]
>>> b.extend([3,4,5,6])#在列表末尾添加几个元素
>>> print(b)
[1, 2, 3, 4, 5, 3, 4, 5, 6]
>>> a.insert(2,'jjs')
>>> print(a)   #在列表任意位置添加元素
[1, 2, 'jjs', 3, '4']
>>> a.remove('4')#根据值来删除元素
>>> print(a)
[1, 2, 'jjs', 3]
>>> a.pop()    #删除末尾的元素并返回末尾的元素
3
>>> print(a)
[1, 2, 'jjs']
>>> a.pop(1)#加参数表示删除某个特定元素并返回它的值
2
>>> print(a)
[1, 'jjs']
>>> del a[0]   #删除任意位置的元素
>>> print(a)
['jjs']
>>> a=[1,2,3,4,5]
>>> 1 in a#用关键字in检查元素
True
--------------------------------------------------------------------------------
元组中的元素值不允许被修改,没有增、改的操作
>>> a=(1,2,3,4)
>>> len(a)
4
>>> 1 in a#检查
True
>>>
>>> a=(1,2,3,4)
>>>> del a#元素值不能被删除,但可以删除整个元组,删除后变量异常
>>> print(a)
Traceback (most recent call last):File "<pyshell#34>", line 1, in <module>print(a)
NameError: name 'a' is not defined
-----------------------------------------------------------------------------
>>> a={1,1,2,3,23,4,5}
>>> len(a)
6
>>> a.add(1)#添加已有元素无任何操作,只能是数字、字符串、元组不可变类型
>>> print(a)
{1, 2, 3, 4, 5, 23}
>>> a.add(123345)#添加元素随机位置,因为集合本身无序
>>> print(a)
{1, 2, 3, 4, 5, 123345, 23}
>>> a={1,2,3,4,5}
>>> a.update('7',(8,9),[10,11],{12:13,14:15},{16,17})    #参数为可迭代对象,可为字符串,元组,列表,集合,字典,字典取键元素
>>> print(a)
{1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 14, '7', 16, 17}#添加
{1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 14, '7', 16, 17}
>>> a.remove(1)    #删除元素,元素不存在就会报错
>>> print(a)
{2, 3, 4, 5, 8, 9, 10, 11, 12, 14, '7', 16, 17}
>>> a.discard('7')   #删除元素,元素即使不存在也不会报错
>>> print(a)
{2, 3, 4, 5, 8, 9, 10, 11, 12, 14, 16, 17}
>>> a.pop()#随即删除某个值并返回
2
>>> 2 not in a
True#检查成员
-----------------------------------------------------------------------------------
>>> a={'wade':3,'bosh':1,'lebron':6}
>>> len(a)
3
>>> a['paul']=3 #向字典中添加键-对
>>> print(a)
{'wade': 3, 'bosh': 1, 'lebron': 6, 'paul': 3}
>>> a['leborn']=23#修改字典中某个键的值
>>> print(a)
{'wade': 3, 'bosh': 1, 'lebron': 6, 'paul': 3, 'leborn': 23}#字典中同样的键在语法上不出错,但是在一个字典中同样的键对应的值为后面修改的
>>> print(a['leborn'])
23
>>> del a['paul']#删除某个键
>>> print(a)
{'wade': 3, 'bosh': 1, 'lebron': 6, 'leborn': 23}
>>> a.clear()#清空字典得到个空列表
>>> print(a)
{}
>>> del a#删除整个字典
>>> print(a)
Traceback (most recent call last):File "<pyshell#70>", line 1, in <module>print(a)
NameError: name 'a' is not defined
>>> a={'wade': 3, 'bosh': 1, 'lebron': 6, 'paul': 3}
>>> 'wade' in a#检查键成员
True

3.拼接、重复、复制、最小值最大值

拼接

>>> a={1,2,3}
>>> b={2,3,4}
>>> print(a+b)
Traceback (most recent call last):File "<pyshell#104>", line 1, in <module>print(a+b)
TypeError: unsupported operand type(s) for +: 'set' and 'set'
>>> a={1:2}
>>> b={2:3}
>>> print(a+b)
Traceback (most recent call last):File "<pyshell#107>", line 1, in <module>print(a+b)
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
#字符串、列表、元组支持拼接、重复*,集合,字典不支持拼接,重复*
#*重复出来的各对象具有同一个id,也就是指向在内存中同一块地址,在对各个对象进行操作是一定要注意

4.遍历、切片、复制(暂不讲)、嵌套

a={1,1,2,3,4,5}
for i in a:print(i)#遍历方法相同:字符串、列表、元组、集合
1
2
3
4
5
players={'wade':3,'bosh':1,'leborn':6}
for player in players:#用for时可用单复数使遍历更加方便print("key:",player)#遍历键
key: wade
key: bosh
key: leborn   #字典更多遍历方法见其内置函数方法
a=(1,2,3,4)
print(a[0:2])#字符串、列表、元组均可以切片,集合,字典不可以
print(a[:])#切整个

将一系列字典存储在列表中,或列表存储在字典以及自身互相存储,即为嵌套
5.内置函数、方法及个性特征
见下个bolg

字符串、列表、元组、集合、字典综合对比相关推荐

  1. 【数据分析】python基础必修2—字符串/列表/元组/集合/字典

    目录 1.字符串 2.列表 list 2.1list操作练习 3.元组 tuple 4.集合 set 4.1集合间的运算 5.字典 1.字符串 声明一个字符串 # 声明一个字符串# 单引号声明 s = ...

  2. 列表,元组,集合,字典常用方法

    列表(元组)常用方法 append(data) 追加 将参数data追加到列表末尾,不管data是个什么玩意都当做元素对待list.append(data) extend(model) 合并 将两个列 ...

  3. python列表元组集合字典_Python列表、元组、字典、集合的方法

    一.列表 1.count() 定义:统计指定元素在列表中出现的次数并返回这个数.若指定的元素不存在则返回:0. 格式:[列表].count("指定元素") 例:统计指定元素的个数 ...

  4. python中元组和列表转化_4.Python列表/元组/集合/字典

    4.1 Python列表 • 列表用 [ ] 标识,是Python 最通用的复合数据类型. • 列表用 [ ] 表示,列表具有可嵌套性 4.1.1 Python列表截取 • 列表可以使用 [头下标:尾 ...

  5. python入门之 列表 元组 集合 字典 最全教程

    一.列表 列表(list)是Python中的一种数据结构,它可以存储不同类型的数据.不同元素以逗号分隔. //下标索引访问 A = ['xiaoWang', 'xiaoZhang', 'xiaoHua ...

  6. Python 字符串/列表/元组/字典之间的相互转换 - Python零基础入门教程

    目录 一.字符串 str 与列表 list 1.字符串转列表 2.列表转字符串 二.字符串 str 与字典 dict 1.字符串转字典 2.字典转字符串 三.列表 list 与字典 dict 1.列表 ...

  7. python序列类型包括字符串_python序列类型字符串列表元组

    字符串 序列:序号 列 012345678 索引 序列类型,就是带有索引的数据类型:字符串/列表/元祖 name = 'wuhao dsb' # 012345678 name3 = name[0] n ...

  8. python字符串转换元组_python 字符串,列表,元组,字典相互转换

    1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} 字典转为字符串,返回: {'age': 7, 'name': 'Zara', 'cla ...

  9. python 常用字符串 列表元祖字典都 自带的函数方法

    上节内容回顾和补充编程语言高级低级Python种类JavaPythoncPython *****pypy字节码 和 机器码Python程序:1. 终端:C:\python35\python.exe D ...

最新文章

  1. 5G UE — SIM Card
  2. Java与C#事件处理详细对比
  3. Kafka设计解析(四):Kafka Consumer解析
  4. 在python中要表示一个空的代码块可以使用空语句什么_Python条件判断语句if
  5. 安装提示没有安装包docker(转载)
  6. UTF-8的BOM头
  7. Azure Cosmos DB从零到10分钟
  8. 关于kv的jch分片存储
  9. 揭秘计算机之间互发数据的关键原理!
  10. plsql创建、测试存储过程
  11. ux.plup.File plupload 集成 ux.plup.FileLis 批量上传预览
  12. matlab电力建模仿真软件,MATLAB/Simulink电力系统建模与仿真
  13. matlab hspice联合仿真,matlab hspice
  14. MATLAB角度转换为弧度
  15. 初探 Redis 客户端 Lettuce:真香!
  16. HDU 1290 献给杭电五十周年校庆的礼物(空间分割)
  17. 考研英语 - word-list-22
  18. IDEA 出现问题:PSI and index do not match 解决方案
  19. shiro使用Md5加密
  20. 如何获取R语言中向量的元素

热门文章

  1. 厨电新时代的三国杀:方太领跑、老板急追、华帝在干嘛?
  2. PHP-MySQL图书管理系统(附源代码)
  3. SOLIDWORKS 2023 3D CAD机械设计 10 大新增功能
  4. 你的圈子决定你的爱情
  5. igm修复所需userinit
  6. 变得会说话的7种突破方法
  7. IT项目管理期末复习
  8. UILabel上显示笑脸符号
  9. 电磁场与电磁波学习总结(一丶矢量分析)
  10. 使用 Win32DiskImager 读写 SD 卡时,报错 error 1117