Python学习(四)—— 列表和元组的类中方法
列表
list:用中括号括起来,用“,”分割每个元素,列表中的元素可以是 数字、字符串、列表、布尔值......所有东西,可以说就是一个“集合”
- li = [1,3,5,'alex','age',['sister',5],True]
列表是有序的
支持用索引、切片的方式取值
支持 for、while循环
列表元素是可以用索引、切片的方式进行修改和删除的
- li = [1,3,5,'alex','age',['sister',5],True]
- li[1] = 10
- print(li)
- li[4] = [1,2,3,4]
- print(li)
- del li[0]
- print(li)
- """
- [1, 10, 5, 'alex', 'age', ['sister', 5], True]
- [1, 10, 5, 'alex', [1, 2, 3, 4], ['sister', 5], True]
- [10, 5, 'alex', [1, 2, 3, 4], ['sister', 5], True]
- """
索引取值支持嵌套方式
- c = li[5][0][1]
- print(c)
- #i
in和not in:
判断某个东西是否包含在某个东西里面(判断元素是否在列表中),结果是布尔值
- li = [1,3,5,'alex','age',['sister',5],True]
- x = 1 in li
- y = 'sister' in li
- z = ['sister',5] in li
- w = 'sister'and 5 in li
- print(x,y,z,w)
- #True False True True
和其他类的转换
字符串可以使用list()转换为列表,内部使用for循环,但数值不可以
列表转换为字符串的方式:
——写for 循环:既有字符串又有数字
- li = [1,3,5,'alex','age',['sister',5],True]
- s = ""
- for i in li:
- s += str(i)
- print(s)
- #135alexage['sister', 5]True
——用.join() :只有字符串
- li = ['alex','age']
- s = "".join(li)
- print(s)
- #alexage
.clear()
给列表清空
.copy()
浅拷贝
.count()
计算元素出现的次数
x.append(c)
给x列表后追加c值
注意:c是参数,参数是调用函数时传入的变量
- li = ['alex','age']
- v = li.append(["lala",124])
- print(v,li)
- #None ['alex', 'age', ['lala', 124]]
.extend(iterable)
将可迭代对象iterable里的元素一个一个追加,扩展原来的列表,在内部执行for循环。iterable是可迭代对象
- li = ['alex','age']
- li.extend(["lala",124])
- print(li)
- li.extend("不得了")
- print(li)
- """
- ['alex', 'age', 'lala', 124]
- ['alex', 'age', 'lala', 124, '不', '得', '了']
- """
.index()
根据值获取当前值的索引位置,最左侧优先
.insert(v1,v2)
在第v1位置插入v2
.pop(index)
删除列表中某个元素,默认删除最后一个,且删除的这个值可以获取
- li = ['alex','age']
- v = li.pop()
- print(li,v)
- #['alex'] age
.remove()
删除列表中的指定值,且左边优先
.reverse()
将当前列表反转
.sort()
对当前列表排序
- li = [11,44,22]
- li.sort()
- print(li)
- #[11, 22, 44]
对当前列表降序排列
- li = [11,44,22]
- li.sort(reverse = True)
- print(li)
- #[44, 22, 11]
元组
tuple:是列表的一种加工,用“()”,一级元素不可被修改,不能增加或删除。
一般在创建元组时会在最后加一个“,”,以区分元组和列表
元组是有序的
- tu = (11,44,22,["alex",2],True)
- print(tu)
- tu1 = (11,44,22,["alex",2],True,)
- print(tu1)
- """
- (11, 44, 22, ['alex', 2], True)
- (11, 44, 22, ['alex', 2], True)
- """
元组可以通过索引和切片取值
元组支持for循环和while循环,是可迭代对象
元组可以修改内部列表的元素:
- tu = (["alex",4,5],"ewe",)
- tu[0][2] = [1,3,5]
- print(tu)
- #(['alex', 4, [1, 3, 5]], 'ewe')
和其他类的转换
- tu = ("asfe","ewe",)
- s = "we35123fe"
- li = ["aweb","egg"]
- print(tuple(s),tuple(li))
- print(str(tu),list(tu))
- """
- ('w', 'e', '3', '5', '1', '2', '3', 'f', 'e') ('aweb', 'egg')
- ('asfe', 'ewe') ['asfe', 'ewe']
- """
列表转换为字符串的方式:
——写for 循环:既有字符串又有数字
——用.join() :只有字符串
.index()
获取指定元素的索引,左侧优先
.count()
获得指定元素在元组中出现的次数
元组和列表的使用情况:
当创建的东西需要增、删、改时创建列表,当创建的东西不许修改时创建元组
字典
dict类
- info = {
- "k1":"v1", #一个键值对
- "k2":"v2"
- }
字典的value可以是任何值,数值、布尔值、字符串、列表、元组、字典......
字典的key可以是数值、字符串、元组、布尔值(布尔值会被忽略)
字典是无序的,即键值对的顺序是无序的
支持用索引的方式查找元素,不能切片
- info = {
- "k1":"v1", #一个键值对
- "k2":True,
- "k3":[7,86,9,(),{"kk1":4,"kk2":50}],
- True:(1,2,3,)
- }
- print(info)
- #{'k1': 'v1', 'k2': True, 'k3': [7, 86, 9, (), {'kk1': 4, 'kk2': 50}], True: (1, 2, 3)}
- v = info["k3"][4]["kk2"]
- print(v)
- #
支持删除
- del info["k1"]
- print(info)
- del info["k3"][4]["kk1"]
- print(info)
- """
- {'k2': True, 'k3': [7, 86, 9, (), {'kk1': 4, 'kk2': 50}], True: (1, 2, 3)}
- {'k2': True, 'k3': [7, 86, 9, (), {'kk2': 50}], True: (1, 2, 3)}
- """
for 循环 + .keys() .values() .items()
默认for循环和 .keys()结果只有key
for + .values()结果只有value
for + .items()结果是键值对
- info = {'k2': True, 'k3': [7, 86, 9, (), {'kk2': 50}], True: (1, 2, 3)}
- for k in info:
- print(k)
- """
- k2
- k3
- True
- """
- for k in info.keys():
- print(k)
- """
- k2
- k3
- True
- """
- for v in info.values():
- print(v)
- """
- True
- [7, 86, 9, (), {'kk2': 50}]
- (1, 2, 3)
- """
- for k,v in info.items():
- print(k,v)
- """
- k2 True
- k3 [7, 86, 9, (), {'kk2': 50}]
- True (1, 2, 3)
- """
.clear()
清空
.copy()
浅拷贝
dict.fromkeys()
根据序列创建字典,指定统一的值
- info = dict.fromkeys(["a",1,3],"t")
- print(info)
- #{'a': 't', 1: 't', 3: 't'}
.get(key, c)
根据key获取value,如果不存在此key则返回c,不指定c返回None
.pop(key) .popitem()
前者删除字典中某个键值对,且删除的这个value可以获取
后者不可加参数,随机删除一对键值对,且可以获取删除的键值对
.setdefault()
设置新键值对,如已存在则获取当前key的值,否则设置,且获取新key对应的值
- dic = {"k1":"v1","k2":"v2"}
- v = dic.setdefault("k3",123)
- print(dic,v)
- #{'k1': 'v1', 'k2': 'v2', 'k3': 123} 123
- v1 = dic.setdefault("k1",123)
- print(dic,v1)
- #{'k1': 'v1', 'k2': 'v2', 'k3': 123} v1
.update()
对字典进行更新,有两种使用方式
- dic = {"k1":"v1","k2":"v2"}
- dic.update({"k1":1,"k3":123})
- print(dic)
- #{'k1': 1, 'k2': 'v2', 'k3': 123}
- dic = {"k1":"v1","k2":"v2"}
- dic.update(k1 = 1,k3 = 123)
- print(dic)
- #{'k1': 1, 'k2': 'v2', 'k3': 123}
注意:参数写成**kwargs,说明Python会自动转成字典
Python学习(四)—— 列表和元组的类中方法的更多相关文章
- Java学习笔记(七)——获取类中方法的信息,java的LinkedList
[前面的话] 在实际项目中学习知识总是最快和最有效的,既能够较好的掌握知识,又能够做出点东西,还是简单的知识总结,最近一直在总结笔记,写的东西还是比较水,希望慢慢可以写出一些干货. 学习过程中的小知识 ...
- Python学习_03_列表、元组、字符串
列表.元组.字符串这些通过顺序访问的对象统称为序列. 序列的标准操作符 对于一般的序列对象,包括列表.元组.字符串,都具有以下的标准操作: 1. element [not] in seq判断一个元素是 ...
- Python学习3——列表和元组
一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...
- Python学习:列表、元组、字典、集合
转载:https://www.cnblogs.com/xc-718/p/9632942.html 列表/元组 列表和元组都是序列结构,它们本身很相似,但又有一点不同: 列表是用方括号标记,如:a=[1 ...
- python之字符串,列表,字典,元组,集合内置方法总结
目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...
- Python基础学习四 列表、元组、字典、集合
列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...
- Python学习笔记----列表、元组和字典的基础操作
文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...
- python学习之列表和元组
配置环境:python 3.6 python编辑器:pycharm,代码如下: #!/usr/bin/python # -*- coding: UTF-8 -*- # list:是一种有序的集合,可以 ...
- Java多线程学习笔记(一)——Thread类中方法介绍
currentThread():返回代码正在被哪个线程调用. public class CurrentThreadWay { public static void main(String[] args ...
随机推荐
- 部署prerender服务器
// 安装 git sudo apt-get install git sudo apt-get install curl // 请先确认服务器是否安装了curl 如果已经安装跳过即可 // 安装 no ...
- Centos7部署jenkins
1. 下载rpm包: a) 下载地址:https://pkg.jenkins.io/redhat-stable/ b) 点选一个下载即可,例如点选:“jen ...
- Python之旅第四天(列表、元祖、字典和习题)
第四天,感觉时间还是过得很快,今天内容确实有点多,关于list的方法实在是太多了,元组tuple感觉有点鸡肋,可能得到后面才知道他的作用吧,然后是字典,看了很多关于字典的介绍,但是这货到底是干啥用的一 ...
- Android 开发 SurfaceView 总结
Android中一种常见的自定义画UI接口类:SurfaceView.可以在异步线程中,完成相关数据更新. 首先介绍几个基本的定义,在其他知识中也会设计如下名词: 1.Paint 画笔,所有的图像.图 ...
- windows10 +ubuntu双系统
1,安装之前的准备: 制作启动盘 确定给ubuntu多少分区并且清理为free状态 确定电脑的开机引导方式,传统方式引号和uefi引导并不一样,因此我们需要根据引导方式选择新系统制作什么样的启动盘 在 ...
- Python获取最新电影的信息
这次将从电影天堂获取最新的电影的详细信息,这里电影的信息罗列的比较详细. 本来只是想获取电影的迅雷链接,然后用迅雷去下载.但看到这里的电影的信息比较完整和详细,忍不住把所有信息都爬取下来了. 下图是& ...
- python之路之css拾遗
做一个鼠标碰到就会自动加边框的效果 下边的代码,主要是使自动加边框的时候,加边框的部分不会跳动 实现一张图片的点击之后出现信息
- AcWing 830. 单调栈
https://www.acwing.com/problem/content/832/ #include <iostream> using namespace std; ; int stk ...
- 用fgets()和fputs()代替gets()和puts()
gets()和puts不安全,有些平台会报错,如pat. gets输入字符串时,不进行数组下标的检查,也就是说当你的数组长度是n时,输入超过该长度的字符串的时候,编译不会出错,但是运行的时候会出现数组 ...
- linux软件下载
可以到linux官网下载:http://vault.centos.org/6.10/os/Source/SPackages/