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

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. (一) 这就是所谓的Node.js------单线程,非阻塞,事件驱动

    Node.js 第一天笔记(V1) 一:Node.js到底是从何而来 2008年的秋天,一个名叫做Ryan Dahl(罗伊・达尔)的年轻人在玩了几年服务器编程之后,越发感到服务器高并发性能的瓶颈是一个 ...

  2. 【转】AS3多种天气预报调用代码分享

    今天我们来介绍利用weather.com.cn上的天气预报功能,这里介绍了大家常用的,其它的大家可以自己去下载. 我们这里的天气预览不需要js来调用,只要用iframe就可以了,更不需要ASP/' t ...

  3. QQ第三方登录教程

    教程戳这里

  4. Linux简介与厂商版本下

    2. Linux的厂商版本 在Linux内核基础上,我们还有许多厂商版本.即使有了内核和GNU软件,Linux的安装和编译并不是简单的工作,Linux厂商就是瞄准了这个市场.这些厂商会在Linux内核 ...

  5. CSS3选择器~一看吓一跳,这么多不会

    复习CSS时发现很多选择器不会,因为平时很少用到.现在干脆一不做二不修,全部温习一遍.本文参考http://css.doyoe.com/. 一.元素选择器 图片来自:http://css.doyoe. ...

  6. python executemany的使用

    使用executemany对数据进行批量插入的话,要注意一下事项: #coding:utf8 conn = MySQLdb.connect(host = "localhost", ...

  7. php常用的优化手段

    由于工作码成狗,抽闲整理了下内容,以下是网上流传比较广泛的30种SQL查询语句优化方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. ...

  8. Html 经典布局(一)

    经典布局案例(一): <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  9. Apache设置404页面

    使用版本:Apache 2.2 1.添加404页面 在所配置网站的根目录添加编辑好的 404.html (页面名字无所谓 比如也可以叫missing.html) 如C:\Program Files\A ...

  10. NSUserDefaults registerDefaults

    NSUserDefaults除了保存和读取功能外,还为我们提供了一个很便捷的方法:registerDefaults. func registerDefaults(registrationDiction ...