python学习4—数据结构之列表、元组与字典
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)
python学习4—数据结构之列表、元组与字典的更多相关文章
- Python学习小技巧之列表项的排序
Python学习小技巧之列表项的排序 本文介绍的是关于Python列表项排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码1: data_list = [6, 9, 1, ...
- Python—列表元组和字典
Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...
- Python学习(四)—— 列表和元组的类中方法
列表 list:用中括号括起来,用“,”分割每个元素,列表中的元素可以是 数字.字符串.列表.布尔值......所有东西,可以说就是一个“集合” li = [1,3,5,'alex','age',[' ...
- 从0开始的Python学习012数据结构&对象与类
简介 数据结构是处理数据的结构,或者说,他们是用来存储一组相关数据的. 在Python中三种内建的数据结构--列表.元组和字典.学会了使用它们会使编程变得的简单. 列表 list是处理一组有序的数据结 ...
- python学习之数据结构
python的数据很丰富,所以对于数据分析来讲, python是一种最合适的选择 下面讲述一下常见的数据结构,包括栈,队列,元组,字典,集合等,以及对这些数据结构进行操作 #堆栈,后进先出 a=[10 ...
- 15、python学习手册之:列表和字典
1.列表属于可变序列,支持在原处的修改 2.在标准python解锁器内部,列表就是C数组而不是链接结构 3.内置函数map对序列中的各项应用一个函数并把结果收集到一个新的列表中 eg:list(map ...
- python学习笔记(一)、列表和元祖
该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.通用的序列操作 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Pyt ...
- 4.Python的不堪一击到初学乍练(列表,元组)
Python(列表,元组) 一.列表 列表初识 列表是python的基础数据类型之一,其他编程语言也有类似的数据类型. 比如JS中的数组, java中的数组等等,它是以[ ]括起来, 每个元素用&qu ...
- python学习之模块(pip),列表生成式,模块操作mysql,excel
python基础 生成式 列表生成式 格式 [表达式 for 表达式 in 迭代对象 (可加判断)] 原: res1 = [] for i in range(1,5): res1.append(i) ...
随机推荐
- php中如何实现多进程
php中如何实现多进程 一.总结 一句话总结: php多进程需要pcntl,posix扩展支持 可以通过 php - m 查看,没安装的话需要重新编译php,加上参数--enable-pcntl,po ...
- Python 多线程同步队列模型
Python 多线程同步队列模型 我面临的问题是有个非常慢的处理逻辑(比如分词.句法),有大量的语料,想用多线程来处理. 这一个过程可以抽象成一个叫“同步队列”的模型. 具体来讲,有一个生产者(Dis ...
- Windows 安装 Anaconda3+PyCharm
由于本人使用的是windows 10 操作系统,所以介绍在 windows 10 系统中安装 Anaconda3 的过程. 下载 Anaconda 官网下载地址:https://www.anacond ...
- option click事件
$("#m-s-type").on("change",function(){ var id = $(this).find("option:select ...
- 2019牛客多校第四场C-sequence(单调栈+线段树)
sequence 题目传送门 解题思路 用单调栈求出每个a[i]作为最小值的最大范围.对于每个a[i],我们都要乘以一个以a[i]为区间内最小值的对应的b的区间和s,如果a[i] > 0,则s要 ...
- export 与 export default
export 和 import 都属于 ES6 的内容. node 的 module 遵循的是 CommonJS规范,requirejs遵循AMD,seajs遵循CMD,虽各有不同, 但总之还是希望保 ...
- JDK8新特性之接口默认方法与静态方法
接口默认方法与静态方法 有这样一些场景,如果一个接口要添加一个方法,那所有的接口实现类都要去实现,而某些实现类根本就不需要实现这个方法也要写一个空实现,所以接口默认方法就是为了解决这个问题. 接口静态 ...
- Pandas中的DataFrame按指定顺序输出所有列的方法
问题: 输出新建的DataFrame对象时,DataFrame中各列的显示顺序和DataFrame定义中的顺序不一致. 例如: import pandas as pd grades = [48,99, ...
- Linux下NODE配置NODE_PATH变量
在当我们使用了npm install express -g安装之后的,会安装在全局目录下,但是如果直接用Node来启动程序的话,是无法发现这个包的,原因就在于NODE_PATH这个环境变量设置的不正确 ...
- python 基本输入输出