一、list类中提供的方法

**********************灰魔法**************************

1. 原来值最后追加 append()

li = [11, 22, 33, 22, 44]
li.append(5)
li.append("alex")
li.append([1234,2323])
print(li) # [11, 22, 33, 22, 44, 5, 'alex', [1234, 2323]]

2. 清空列表 clear()

li = [11, 22, 33, 22, 44]
li.clear()
print(li) # []

3. 计算元素出现的次数 count()

li = [1,2,2,3,42,3,2]
v = li.count(2)
print(v) #

4. 扩展原列表,参数:可迭代对象 append(), extend()

li = [11, 22, 33, 22, 44]
li.append([9898,"不得了"])
print(li) # [11, 22, 33, 22, 44, [9898, '不得了']]
li = [11, 22, 33, 22, 44]
li.extend([9898,"不得了"])
print(li) # [11, 22, 33, 22, 44, 9898, '不得了']

5. 根据值获取当前值索引位置(左边优先)index()

li = [11, 22, 33, 22, 44]
v= li.index(22)
print(v) #

6. 在指定索引位置插入元素 insert()

li = [11, 22, 33, 22, 44]
li.insert(0,99)
print(li) # [99, 11, 22, 33, 22, 44]

7. 删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值 pop()

li = [11, 22, 33, 22, 44]
# v = li.pop()
# print(li) # [11, 22, 33, 22]
v = li.pop(2)
print(li) #[11, 22, 22, 44]

8. 删除列表中的指定值,左边优先 remove()

li = [11, 22, 33, 22, 44]
li.remove(22)
print(li) # [11, 33, 22, 44]

9. 将当前列表进行翻转 reverse()

li = [11, 22, 33, 22, 44]
li.reverse()
print(li) # [44, 22, 33, 22, 11]

10. 列表的排序(默认为 False) sort()

li = [11, 44, 22, 33, 22]
li.sort()
li.sort(reverse=True)
print(li) # [44, 33, 22, 22, 11]

*************************深灰魔法**************************

1. 索引取值
print( li [3] )

2. 切片,切片结果也是列表
print( li [3 : -1])

3. for循环

for item in li:
print(item)

4. 列表元素修改 

li = [11, 44, 22, 33, 22]
li[1] = 120
print(li) # [11, 120, 22, 33, 22]
li[1] = [11,22,33,44]
print(li) # [11, [11, 22, 33, 44], 22, 33, 22]

5. 删除 del()

li = [11, 44, 22, 33, 22]
del li[1]
print(li) # [11,22,33,22]

6. 切片

li = [11, 44, 22, 33, 22]
li[1:3] = [120,90]
print(li) # [11, 120, 90, 33, 22]
del li[2:4]
print(li) # [11, 120, 22]

7. in 操作

li = [1, 12, 9, "age", ["石振文", ["", 10], "庞麦郎"], "alex", True]
v1 = "石振文" in li
print(v1) # False
v2 = "age" in li
print(v2) # True

8. 操作

li = [1, 12, 9, "age", ["石振文", ["", 10], "庞麦郎"], "alex", True]
print(li[4][1][0]) #
print(li[4][1]) # ['19', 10]

9. 字符串转换为列表

a = 123
a = str(a)
new_a = list(a) # 字符串可以转换为列表,数值不可以
print(new_a) # ['1', '2', '3']

10. 列表转换为字符串

li = [11,22,33,"","alex"]
s = ""
for i in li:
s = s + str(i)
print(s) # 112233123alex

或者用 join 的方法

li = ["","alex"]
v = "".join(li)
print(v) # 123alex

11. 字符串修改

v = "alex"
v = v.replace('l','el')
print(v) # aelex

二、元组类中提供的方法

1. 索引
    v = tu[0]
    print(v)

2. 切片
    v = tu[0:2]
    print(v)

3.  可以被 for 循环,可迭代对象

    for item in tu:

    print(item)

4. 字符串转换为元组

s = "asdfas"
li = ["asdf","asdfas"]
tu = ("asdf","as") v = tuple(s)
print(v) # ('a', 's', 'd', 'f', 'a', 's') v = tuple(li)
print(v) # ('asdf', 'asdfas') v = list(tu)
print(v) # ['asdf', 'as'] v = "_".join(tu)
print(v) # asdf_as li = ["asdf","asdfasdf"]
li.extend((11,22,33,))
print(li) # ['asdf', 'asdfasdf', 11, 22, 33]

5. 元组的一级元素不可修改/删除/增加

tu = (111,"alex",(11,22),[(33,44)],True,33,44,)
# 元组,有序。
v = tu[3][0][0]
print(v) #
v=tu[3]
print(v) # [(33, 44)]
tu[3][0] = 567
print(tu) # (111, 'alex', (11, 22), [567], True, 33, 44)
tu[3] = '' # 报错

三、字典类中提供的方法

基本结构

1、字典的 value 可以是任何值——列表、元组、字典、布尔值等

2、布尔值(1,0)、列表、字典不能作为字典的 key,但元组可以

3、索引方式找到字典的元素

4、字典支持 del 删除

info = {
"k1": 18,
"k3": [
11,
[],
(),
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
2: (11,22,33)
}
del info['k1']
print(info) # {2: (11, 22, 33), 'k3': [11, [], (), {'kk2': 'vv2', 'kk1': 'vv1', 'kk3': (11, 22)}]}
del info['k3'][3]['kk1']
print(info) # {2: (11, 22, 33), 'k3': [11, [], (), {'kk2': 'vv2', 'kk3': (11, 22)}]}

5、 for 循环

info = {
2: True,
"k3": [
11,
[],
(),
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
4: (11,22,33,44)
}
for item in info:
print(item) #
#
# k3
for item in info.keys():
print(item) #
#
# k3
for item in info.values():
print(item) # 11, [], (), {'kk2': 'vv2', 'kk1': 'vv1', 'kk3': (11, 22)}]
# True
# (11, 22, 33, 44)
for k,v in info.items():
print(k,v) # 2 True
# 4 (11, 22, 33, 44)
# k3 [11, [], (), {'kk1': 'vv1', 'kk3': (11, 22), 'kk2': 'vv2'}]

6. 根据序列,创建字典,并指定统一的值    fromkeys()

v = dict.fromkeys(["k1",123,""],123)
print(v) # {123: 123, '999': 123, 'k1': 123}
v = dict.fromkeys(["k1",123,"999"])
print(v) # {123: None, '999': None, 'k1': None}

7. 根据Key获取值,key不存在时,可以指定默认值(None)

dic = {"k1":"v1"}
v = dic['k1']
print(v) # v1
v = dic.get('k11111')
print(v) # None 如果用dic则会报错
v = dic.get('k11111','asdf')
print(v) # asdf 如果不存在,就传递asdf

8. 删除并获取值  pop(), popitem()

dic = {
"k1": 'v1',
"k2": 'v2'
}
v = dic.pop('k1',90)
print(dic,v) # {'k2': 'v2'} v1 如果没有k1,就传递90
k,v = dic.popitem() # 随机删除
print(dic,k,v) # {} k2 v2

9. 设置值  setdefault()

dic = {
"k1": 'v1',
"k2": 'v2'
}
v = dic.setdefault('k1','') # 已存在,不设置,获取当前key对应的值
print(dic,v) # {'k1': 'v1', 'k2': 'v2'} v1
v = dic.setdefault('k3','') # 不存在,设置,获取当前key对应的值
print(dic,v) # {'k1': 'v1', 'k2': 'v2', 'k3': '123'} 123

10. 更新(两种写法都可以) update()

dic = {
"k1": 'v1',
"k2": 'v2'
}
dic.update({'k1': '','k3': 123})
print(dic) # {'k2': 'v2', 'k1': '111111', 'k3': 123}
dic.update(k1=123,k3=345,k5="asdf")
print(dic) # {'k5': 'asdf', 'k2': 'v2', 'k1': 123, 'k3': 345}

day12—列表、元组、字典基本语法的更多相关文章

  1. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  2. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  3. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  4. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  5. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  6. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  7. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  8. python字符串 列表 元组 字典相关操作函数总结

    1.字符串操作函数 find 在字符串中查找子串,找到首次出现的位置,返回下标,找不到返回-1 rfind 从右边查找 join 连接字符串数组 replace 用指定内容替换指定内容,可以指定次数 ...

  9. Python列表,元组,字典,字符串方法笔记

    01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...

  10. Python之列表&元组&字典

    今天学习了Python的基本数据类型,做以下笔记,以备查用. 一.列表 列表的常用方法: 1.append()方法 def append(self, p_object): # real signatu ...

随机推荐

  1. Rocket - decode - 几个问题

    https://mp.weixin.qq.com/s/pMsK_E4mQrm3QXdnp7nDPQ   讨论指令解码部分遗留的几个问题.     1. 最小项与蕴含项之间的关系   参考链接: htt ...

  2. 【jQuery】全功能轮播图的实现(本文结尾也有javascript版)

    轮播图 图片自动切换(定时器): 鼠标悬停在图片上图片不切换(清除定时器) 鼠标悬停在按钮上时显示对应的图片(鼠标悬停事件) 鼠标悬停在图片上是现实左右箭头 点击左键切换到上一张图片,但图片为第一张时 ...

  3. webpack+vue2.0项目 (一) vue-cli脚手架

    很早以前就开始看vue2.0和webpack,但总是留不下深刻的印象,一直缺少一个可以贯通的项目,而且工作也没有时间,最近辞职在家,从网上找了个项目,写了大概八天,踩了无数的坑啊!! 下载的项目包括, ...

  4. Java实现 LeetCode 434 字符串中的单词数

    434. 字符串中的单词数 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my nam ...

  5. Java实现 蓝桥杯VIP 算法训练 邮票

    算法训练 邮票 时间限制:1.0s 内存限制:512.0MB 问题描述 给定一个信封,有N(1≤N≤100)个位置可以贴邮票,每个位置只能贴一张邮票.我们现在有M(M<=100)种不同邮资的邮票 ...

  6. Java实现 蓝桥杯VIP 算法提高 种树

    算法提高 种树 时间限制:1.0s 内存限制:256.0MB 种树 问题描述 A城市有一个巨大的圆形广场,为了绿化环境和净化空气,市政府决定沿圆形广场外圈种一圈树.园林部门 得到指令后,初步规划出n个 ...

  7. java中Condition类的详细介绍(详解)

    已找不到原文了,还望原文博主看到能告诉小白一下,一定标注原文地址 一 condition 介绍及demo Condition是在java 1.5中才出现的,它用来替代传统的Object的wait(). ...

  8. Java实现LeetCode_0027_RemoveElement

    package javaLeetCode.primary; import java.util.Scanner; public class RemoveElement_27 { public stati ...

  9. Java 8 新特性——检视阅读

    Java 8 新特性--检视阅读 参考 Java 8 新特性--菜鸟 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的 ...

  10. 【个人博客 hexo】一个小时就搭好属于自己的博客

    对于经常需要发博客的小伙伴来说,拥有一个属于自己的博客网站,听起来是不是很酷. 今天我就来告诉大家,怎么搭建一个属于自己的博客网站,我们需要的就是使用hexo+github来搭建我们自己博客系统. 你 ...