python学习4—数据结构之列表、元组与字典

列表(list)深灰魔法

1. 连续索引

li = [1,1,[1,["asdsa",4]]]
li[2][1][1][0]

2. 其他数据结构转换为列表

  可以进行for循环的数据结构可以转换为List,数字不能循环则无法转换为列表

li = "cbdualbvrhyacv"
new_li = list(li)

3. 列表转换为字符串,

  若列表里面既有数字,又有字符串,则需自己写for循环

li = [123,"alex"]

s = ""
for i in li:
s += str(i) print(s)

若列表里只有字符串,则可以使用joint(),与空字符串joint

li = [123,"alex"]

new_li = "".joint(li)

列表(list)灰魔法

1. 在列表最后追加一个整体元素append(p_object)

li = [11,22,33,44]

li.append(5)
li.append("alex")
li.append([122,345]) print(li)

2. 清空列表clear()

li.clear()

3. 浅拷贝copy()

v = li.copy()

4. 计算某元素在列表中出现的次数count(value)

v = li.count(22)

5. 将某一可迭代对象里面的元素循环添加到列表里extend(iterable)

v = li.extend([123,"cbeauilbv"])

v = li.extend("cbaulyrv")

6. 寻找列表中某元素的位置index(object)

v = li.index(11)

7. 指定索引位置插值insert(index,p_object)

li.insert(0,99)

8. pop(index)删除某个值并获取被删除的值,默认删除最后一个值

v = li.pop()

v = li.pop(0)

9. 删除列表中的指定元素remove(object)

li.remove(22)

10. 翻转列表各元素reverse()

li.reverse()

11. 排序sort()

li.sort()    #从小到大排序
li.sort(reverse = True) #从大到小排序

元组(tuple)深灰魔法

1. 元组定义

tu = (111,"alex",(11,22),[(33,44)],True,256,11,22,)

最好再定义元组的时候在最后一个元素末尾加个,以与函数赋值相区别

2. 索引、切片

tu[1]
tu[0:3]

3. 元组一级元素不可被修改,不能增加或删除

  但是,元组的某个可修改的二级以下元素可以被修改!!!!!

tu[3][0] = 567

4. 元组可以进行for循环

for i in tu:
print(i)

注:由循环性可知,列表,元组,字符串之间可以相互转换

元组(tuple)灰魔法

1. 计算某元素出现的个数count(value)

v = tu.count(11)

2. 寻找某个元素的位置index(value)

v = tu.index(22)

字典(dict)深灰魔法

1. 定义字典(dict)

info = {
"k1" : "v1",
"k2" : "v2",
: [11,22],
"k4" : (11,22),
"k5" : { "kk1" : "vv1",
"kk2" : "vv2",},
}

列表、字典不能作为字典的键

布尔值、数字、字符串、元组可以作为字典的键

布尔值:True = 1, False = 0

若两个key相同,则只保留最后一个

2. 字典是无序的,不可切片,通过key来索引

v = info['k1']

v = info[5]

3. 删除键值对del

del info['k1']

4. 字典可以进行for循环,默认循环key

for item in info:
print(item) for item in info.keys():  #循环key
print(item) for item in info.values():  #循环value
print(item) for k,v in info.items():  #键值对二者均循环
print(k,v)

5. in操作,默认循环键

v = 'k1' in info    #True

字典(dict)灰魔法

1. clear()

2. copy()

3. 根据key取值,若不存在,可指定默认值get()

v = info.get('k1',111111)  #存在,忽略111111

v = info.get('k111',default)  #不存在,采用default值

4. 取键keys()

5. 取值values()

6. 取键值对items()

7. 删除pop()

v = info.pop('k1')

v = info.pop('k111',90)    #若不存在,可指定返回值为90

8. 随机删除一个键值对popitem()

k,v = info.popitem()  #返回被删除的键值对

9. 设置不存在的键值对,若已存在则返回当前值setdefault()

v = info.setdefault('k111','')

10. 更新update(),有两种写法

info.update('k1':11111,'k5':123)

info.update(k1=123, k2=456, k5=789)

**kwargs,表示上述两种方式表达均可以

**['k1':123,'k2':456]

字典(dict)黑魔法(静态方法)

1. 根据序列创建字典的键并可指定值dict.fromkeys()

v = dict.fromkeys(['k1',123,'k4'],456)

最新文章

  1. ORACLE 9i 数据库体系结构图
  2. XSS的原理分析与解剖(转)
  3. Sql Server 常用系统存储过程大全
  4. 如何通过iframe以post方式提交form表单
  5. PicPopupWindow的使用
  6. 关于生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
  7. SQL Server 2008 表值参数用法
  8. 面向切面编程(AOP)及其作用
  9. C#中dynamic、ExpandoObject 的正确用法
  10. 非阻塞IO
  11. SQL Server存储过程和游标有关实例以及相关网址
  12. Instruments-Automation: 通过命令行执行测试用例
  13. OpenGL ES 2.0 渲染管线 学习笔记
  14. mybatis 详解(二)------入门实例(基于XML)
  15. Unix 让进程安全地退出
  16. Elasticsearch 通关教程(四): 分布式工作原理
  17. double team
  18. HTTP之referrer
  19. 归并排序_JAVA
  20. SharePoint 2013 Deploy Master Page And Page Layout

热门文章

  1. CSS:CSS 分组 和 嵌套 选择器
  2. hive调用MapReduce之后遇到kill command之后卡住或者一直开在MapReduce之前
  3. js基础关系运算符
  4. 前端(六)—— 伪类选择器:a标签的伪类、内容伪类、索引伪类、取反伪类
  5. HTML5 placeholder实际应用经验分享及拓展
  6. 阿里云 Server (Ubuntu 12.04) 配置 FTP
  7. Android studio的ERROR: Unable to resolve dependency for 错误
  8. Codeforces 1140E DP
  9. vue 学习四 了解组件
  10. 每天进步一点点-WPF-根据数据类型加载控件