列表

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学习(四)—— 列表和元组的类中方法的更多相关文章

  1. Java学习笔记(七)——获取类中方法的信息,java的LinkedList

    [前面的话] 在实际项目中学习知识总是最快和最有效的,既能够较好的掌握知识,又能够做出点东西,还是简单的知识总结,最近一直在总结笔记,写的东西还是比较水,希望慢慢可以写出一些干货. 学习过程中的小知识 ...

  2. Python学习_03_列表、元组、字符串

    列表.元组.字符串这些通过顺序访问的对象统称为序列. 序列的标准操作符 对于一般的序列对象,包括列表.元组.字符串,都具有以下的标准操作: 1. element [not] in seq判断一个元素是 ...

  3. Python学习3——列表和元组

    一.通用序列操作——索引.切片.相加.相乘.成员资格检查 1.索引,正序从0开始为第一个元素,逆序从-1开始,-1为最后一个元素 >>> greeting[0] 'h' >&g ...

  4. Python学习:列表、元组、字典、集合

    转载:https://www.cnblogs.com/xc-718/p/9632942.html 列表/元组 列表和元组都是序列结构,它们本身很相似,但又有一点不同: 列表是用方括号标记,如:a=[1 ...

  5. python之字符串,列表,字典,元组,集合内置方法总结

    目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...

  6. Python基础学习四 列表、元组、字典、集合

    列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...

  7. Python学习笔记----列表、元组和字典的基础操作

    文章目录 一.列表的基本操作 1.1 修改列表中的某个数据 1.2 获取某个元素的返回值(返回的是索引) 1.3 在列表中插入新的元素 1.4 删除列表中的元素 1.5 +和* 二.内置的函数和方法 ...

  8. python学习之列表和元组

    配置环境:python 3.6 python编辑器:pycharm,代码如下: #!/usr/bin/python # -*- coding: UTF-8 -*- # list:是一种有序的集合,可以 ...

  9. Java多线程学习笔记(一)——Thread类中方法介绍

    currentThread():返回代码正在被哪个线程调用. public class CurrentThreadWay { public static void main(String[] args ...

随机推荐

  1. 02-Java基础语法【数据类型转换、运算符、方法入门】

    重点知识记录 01.数据类型转换 当数据类型不一样是,将会发生数据类型转换. 1)自动类型转换(隐式): 特点:代码不需要进行特殊处理,自动完成: 规则:数据范围从小到大:byte < shor ...

  2. Elasticsearch系列---倒排索引原理与分词器

    概要 本篇主要讲解倒排索引的基本原理以及ES常用的几种分词器介绍. 倒排索引的建立过程 倒排索引是搜索引擎中常见的索引方法,用来存储在全文搜索下某个单词在一个文档中存储位置的映射.通过倒排索引,我们输 ...

  3. css实现移动端滚动条隐藏仍然可以滚动内容

    .g-panel { height: calc(100% - 112px); overflow: auto; &::-webkit-scrollbar { display: none; // ...

  4. 题解【洛谷P3884】[JLOI2009]二叉树问题

    题面 题解 这道题目可以用很多方法解决,这里我使用的是树链剖分. 关于树链剖分,可以看一下我的树链剖分学习笔记. 大致思路是这样的: 第\(1\)次\(dfs\)记录出每个点的父亲.重儿子.深度.子树 ...

  5. python+selenium:浏览器webdriver操作(1)--基本对象定位

    1.简单对象的定位-----自动化测试的核心 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证 ...

  6. 微信小程序 获取cookie 以及设置 cookie

    小程序开发中我们需要获取到后端给的cookie进行请求验证,但是微信并没有帮我们保存cookie,那么我们要维持会话需要自己来保存cookie,并且请求的时候加上cookie 1.获取cookie 在 ...

  7. Tex 论文写作 jpg eps图像

    pdflatex只能支持pdf.jpg.jpeg.png共4中格式的图片.所以在插入eps图像是会没法显示,使用latex编译不存在这个问题,但是,我还不会用,编译完后从哪里看不知道. 这个里面说的详 ...

  8. C语言数据结构——第一章 数据结构的概念

    一.数据结构的基本概念 1.1-数据结构是什么? 数据结构是计算机存储和组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.一般情况下,精心选择的数据结构可以带来更高的运行或者 ...

  9. 运行时错误'430': 类不支持自动化或不支持期望的接口。New ADODB.Connection问题

    运行时错误'430': 类不支持自动化或不支持期望的接口. 问题: 经调试发现,是运行到下面语句时出错:Set MyConn = New ADODB.Connection  运行到这里是提示本错误 这 ...

  10. 有关C/C++中,表达式计算顺序的问题,以及表达式内部变量“副作用”问题(转)

    经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4, ...