有必要对这些数据类型及操作做下梳理:

1.列表:增删改查  

a.查找:

 >>> names=["zhang","wang","li","zhao"]
#列表天生具有下标,基于下标0,1,2,...进行查找
>>> names[1]
'wang'
#列表的切片,即也是基于下标进行操作
>>> names[1:3]
['wang', 'li']
>>> names[-1:]
['zhao']
>>> names[:3]
['zhang', 'wang', 'li']
>>> names[1:]
['wang', 'li', 'zhao']
#基于列表中的值找下标
>>> print(names.index('li'))
2
>>> print(names[names.index('li')])
li
#基于for循环查找列表值
>>> for i in names:
... print(i)
...
zhang
wang
li
zhao

b.修改

 >>> names=["zhang","wang","li","zhao"]
>>> names.append("Sun")
>>> names
['zhang', 'wang', 'li', 'zhao', 'Sun']
>>> names.insert(1,'qian')
>>> names
['zhang', 'qian', 'wang', 'li', 'zhao', 'Sun']
>>> names[2] = 'gao'
>>> names
['zhang', 'qian', 'gao', 'li', 'zhao', 'Sun']

c.删除

 >>> names
['zhang', 'qian', 'gao', 'li', 'zhao', 'Sun']
>>> names.remove('zhang')
>>> names
['qian', 'gao', 'li', 'zhao', 'Sun']
>>> del names[1]
>>> names
['qian', 'li', 'zhao', 'Sun']
>>> names.pop()
'Sun'
>>> names.pop(1)
'li'
>>> names
['qian', 'zhao']

d.增加

 >>> names
['qian', 'zhao']
>>> names.append('Sun') #追加
>>> names
['qian', 'zhao', 'Sun']
>>> names.insert(1,'zhang') #插入
>>> names
['qian', 'zhang', 'zhao', 'Sun']
>>> names2=[1,2,3,4]
>>> names.extend(names2) #合并
>>> names
['qian', 'zhang', 'zhao', 'Sun', 1, 2, 3, 4]
#深浅copy
>>> names3 = names.copy()#浅copy,指向同一块内存地址
>>> names
['qian', 'zhang', 'zhao', 'Sun', 1, 2, 3, 4]
>>> names3
['qian', 'zhang', 'zhao', 'Sun', 1, 2, 3, 4]
#深copy,新增一块内存地址,把数据完全copy一份到新内存
>>> import copy
>>> names
['qian', 'zhang', 'zhao', 'Sun', 1, 2, 3, 4]
>>> names4 = copy.deepcopy(names)
>>> names4
['qian', 'zhang', 'zhao', 'Sun', 1, 2, 3, 4]

2.元组:只能查询和切片,也叫只读列表,只有count和index方法

 >>> names = ('alex','wang','eric')
>>> names.append('li')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
>>> names[1]
'wang' >>> print(names.index('alex'))
0
>>> print(names[names.index('alex')])
alex

3.字符串:文件中只能存储字符串,且不可修改

 name="my name is alex"
print(name.center(50,"-")) 打印50个字符,不够用-补上,并把name放中间
-----------------my name is alex------------------
>>> print(name.startswith('my')) #判断是否以某字符开头
True
print(name.endswith("ex")) 判断name字符串是否以ex结尾
My name is alex name="my\tnameis{name}andmyageis{year}old"
print(name.format(name='alex',year=23))
my name is alex and my age is 23 old
print(name.index('a'))
5
print(''.isdigit())是否为整数
True
print('+'.join(['','','',''])) 经常用
1+2+3+4
print('alexli'.replace('l','L')) 把小写l替换成大写的L
aLex Li
print('alex li'.split())把字符串按空格组成一个列表
['alex', 'li']

4.字典:key:value的数据类型,无序

>>> info = {'stu1101':'wang','stu1102':'zhang','stu1103':'li'}

a.增加

 >>> info = {'stu1101':'wang','stu1102':'zhang','stu1103':'li'}
>>> info['stu1104'] = 'zhao'
>>> info
{'stu1101': 'wang', 'stu1102': 'zhang', 'stu1103': 'li', 'stu1104': 'zhao'} #合并
>>> info2 = {1:3,2:5}
>>> info.update(info2)
>>> info
{'stu1101': 'wang', 'stu1102': 'zhang', 'stu1103': 'li', 'stu1104': 'zhao', 1:
, 2: 5}

b.修改

 >>> info = {'stu1101':'wang','stu1102':'zhang','stu1103':'li'}
>>> info['stu1101'] = 'lu'
>>> info
{'stu1101': 'lu', 'stu1102': 'zhang', 'stu1103': 'li'}

c.删除

 >>> info
{'stu1101': 'lu', 'stu1102': 'zhang', 'stu1103': 'li'}
>>> del info['stu1101']
>>> info
{'stu1102': 'zhang', 'stu1103': 'li'} info.pop("stu1101") #pop删除
info.popitem()随机删除

d.查询

 >>> info
{'stu1102': 'zhang', 'stu1103': 'li'}
>>> info['stu1102']
'zhang'
#判断是否存在字典中
print(info.get('stu1104')) 安全获取的方法
None
>>> print('stu1103' in info)
True >>> info
{'stu1102': 'zhang', 'stu1103': 'li'}
>>> info['stu1102']
'zhang'
>>> for i in info: #最建议的查询方式
... print(i,info[i])
...
stu1102 zhang
stu1103 li
>>> for k,v in info.items():
... print(k,v)
...
stu1102 zhang
stu1103 li >>> print(info.items())
dict_items([('stu1102', 'zhang'), ('stu1103', 'li')])

e.多级字典的查询方式

5.集合:无序,天生去重

 >>> list = [1,2,3,4]
>>> list_1 = set(list)
>>> print(type(list_1),list_1)
<class 'set'> {1, 2, 3, 4}

关系型测试:

交差并子父对称集操作

a.增加

 >>> list = [1,2,3,4]
>>> list_1 = set(list)
>>> print(type(list_1),list_1)
<class 'set'> {1, 2, 3, 4}
>>> list_1.add(999)
>>> list_1
{1, 2, 3, 4, 999}
>>> list_1.update([777,888])
>>> list_1
{1, 2, 3, 4, 999, 777, 888}

b.删除

 >>> list_1.remove(999)
>>> list_1
{1, 2, 3, 4, 777, 888}
>>> list_1.discard(888)
>>> list_1
{1, 2, 3, 4, 777}
>>> list_1.pop()
1

c.深浅复制,跟列表一样

d.判断

len(list_1)  #测试长度

判断是否存在集合中,大于小于等

6.return

两个作用:

1.得到程序的执行结果;

2.程序结束,return后的代码不再执行;

python 列表、元组、字符串、字典、集合、return等梳理的更多相关文章

  1. Python—列表元组和字典

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

  2. Python之旅Day2 元组 字符串 字典 集合

    元组(tuple) 元组其实跟列表差不多,也是存一组数,与列表相比,元组一旦创建,便不能再修改,所以又叫只读列表. 语法: names = ("Wuchunwei","Y ...

  3. Python列表元组和字典解析式

    目录 列表解析式List comprehensive 集合解析式Set comprehensive 字典解析式Dict comprehensive 总结 以下内容基于Python 3x 列表解析式Li ...

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

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

  5. python—列表,元组,字典

    ——列表:(中括号括起来:逗号分隔每个元素:列表中的元素可以是数字,字符串,列表,布尔值等等) (列表元素可以被修改)  list(类)    (有序的) [1]索引取值:切片取值:for循环:whi ...

  6. python 列表 元组 字符串

    列表添加: list.append() list.extend() list.insert() 列表删除: list.remove()   #删除某一个元素 list.pop()  #删除某一个返回删 ...

  7. python列表元组

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

  8. python列表和字符串的三种逆序遍历方式

    python列表和字符串的三种逆序遍历方式 列表的逆序遍历 a = [1,3,6,8,9] print("通过下标逆序遍历1:") for i in a[::-1]: print( ...

  9. Python列表,元组,字典,字符串方法笔记

    01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...

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

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

随机推荐

  1. 6.Java集合总结系列:常见集合类的使用(List/Set/Map)

    MARK 总结: Set.List 和 Map 可以看做集合的三大类. List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问. Set集合是无序集合,集合中的元素不可 ...

  2. 实现一个自己的promise

    这是小弟的一篇开篇小作,如有不当之处,请各位道友批评指正.本文将探讨Promise的实现. 一.ES6中的Promise 1.简介 据说js很早就实现了Promise,我是不知道的,我第一次接触Pro ...

  3. JavaScript原生Array常用方法

    JavaScript原生Array常用方法 在入门Vue时, 列表渲染一节中提到数组的变异方法, 其中包括push(), pop(), shift(), unshift(), splice(), so ...

  4. js遍历(获取)ul中的li

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  5. Uva 10892 LCM Cardinality (数论/暴力)

    题意:给出数n,求有多少组A,B的最小公约数为n; 思路:3000ms,直接暴力寻找,找到所有能把n整除的数 pi, 枚举所有pi 代码: #include <iostream> #inc ...

  6. 【iOS】7.4 定位服务->3.3 地图框架MapKit 功能3:3D视图

    本文并非最终版本,如果想要关注更新或更正的内容请关注文集,联系方式详见文末,如有疏忽和遗漏,欢迎指正. 本文相关目录: ================== 所属文集:[iOS]07 设备工具 === ...

  7. Xcode的Architectures、Valid Architectures和Build Active Architecture Only属性(原创)

    最近xcode升级了5.1版本,升级之后程序报关于要适配arm64机器的错.之前对xcode的参数配置,一直不是很了解,但实现先面对问题了,就调查了一下并解决它. 一个一个来吧. Architectu ...

  8. SQL使用视图的优缺点

    视图是为了查询方便!也就是多个表的总结!但是不能对视图增删改! 在做数据库开发中使用视图的优点有: 1.视图的好处就是在你做复杂的查询逻辑时可以简化你的思考过程. 2.用视图可以隐藏一定的信息,用过滤 ...

  9. 基于Spring开发——自定义标签及其解析

    1. XML Schema 1.1 最简单的标签 一个最简单的标签,形式如: <bf:head-routing key="1" value="1" to= ...

  10. ROS使用常见问题

    1.Q:查看ros版本 A:先在终端输入roscore,打开新终端,再输入,rosparam list,再输入rosparam get /rosdistro,就能得到版本. 2.Q:运行命令$ ros ...