1.利用负数作为索引项

python里面的字典可以用负数作为其索引项,且-1表示最后一个元素

例如:

index = [1,2,3]
print(index[-2])
#输出结果为:2

2.列表的几个操作

①‘+’操作符——用于连接两个列表,生成一个新的列表

例如:

x = [1,2,3]
y = [4,5,6]
z = x + y
print(z)
#输出结果为:
[1,2,3,4,5,6]

②'*'操作符——将一个列表按给定的次数复制、生成一个新的列表

例如:

list_n = [1] * 4
print(list_n)
#输出结果为:
[1,1,1,1]

3.列表数据类型的方法——列表的方法都没有返回值

像max,min,len,list等python内置的函数,它们是有返回值的,而对于可变数据类型列表的方法,是没有返回值的,它们直接修改列表

①extend方法

extend可以向列表的末尾添加可迭代的数据,元祖,列表,集合字符串等都能添加

例如:

list_n = [1] * 4
list_n.extend('123')
print(list_n)
#输出结果为:
[1, 1, 1, 1, '1', '2', '3']

②内置函数sum,不是方法

t = [1,2,3]
a = sum(t)
print(a)
#输出结果为:
#6

4.删除列表元素

方法一  ——  pop

修改列表并返回被移除的元素,如果不提供索引的参数,即括号里面是空的,则删除和返回最后一个元素

例如:

a = [1,2,3,4,5,6,7,8,9]
pop_1 = a.pop()
pop_2 = a.pop(2)
print(pop_1,pop_2)
#输出结果为:
#9,3

方法二 —— del

不返回被移除的值

a = [1,2,3,4,5,6,7,8,9]
del a[8]
del a[2]
print(a)
#输出结果为:
#[1,2,4,5,6,7,8]

方法三 —— remove

remove不返回任何值,且传入的参数是欲删除元素的值

例如:

a = [1,2,3,4,5,6,7,8,9]
a.remove(9)
a.remove(3)
print(a)
#输出结果为:
#[1,2,4,5,6,7,8]

另外使用del可以删除多个元素

例如:

a = list(range(1,10))
del a[3:7]
print(a)
#输出结果为:
#[1,2,3,8,9]

5.列表和字符串之间的互相转换

字符串是一个字符序列,列表是一个值的序列,但是字符列表不同于字符串,

split()、join()、list()实现将列表和字符串之间相互转换,例如:

string_1 = 'This is a test string'
list_1 = string_1.split()
print(list_1)
#输出结果为:['This','is','a','test','string']
string_2 = ','.join(list_1)
print(string_2)
#输出结果为:'This,is,a,test,string'
word = 'python'
list_2 = list(word)
print(list_2)
#输出结果为:['p','y','t','h','o','n']

6.对象,别名,引用

当两个变量指向同一个对象时,可以用is来判断,

当两个变量值相同时,可以用'=='或'<>'来判断

例如:

a = 'python'
b =  'python'
print(b is a,b == a)
#输出结果为True,True,
#当两个变量指向同一个对象时,它们的值肯定相等c = [1,2,3]
d = c
e = [1,2,3]
print(c is d , c == d)
print(e is c , c == e)
#输出结果为:True,True
#False,True

当两个变量指向同一个可变对象时,其中一个变量值的改变也会引起另一个值的改变

例如:

①直接将一个变量赋给另一个可变变量

a = [1,2,3]
b = a
b[0] = 4
print(a,b)
#输出结果为:[4,2,3],[4,2,3]

②由实参传递给函数的形参时:

def reference(b):b[0] = 9
a = [1,2,3]
reference(a)
print(a)

#输出结果为:[9,2,3]

总结:我们可以将上面的b叫做a的别名,它们指向一个对象,如果其中一个改变,必定会引起另一个的改变

这种情况容易引起意想不到的错误,如何避免嗯??

有以下几种方法:

①list方法

a = [1,2,3]
b = list(a)
print (b is a,b == a)
#输出结果为:(False,True)

②分片方法

a = [1,2,3]
b = a[:]
print(b is a ,b == a)
#输出结果为:(False,True)

③copy库的copy方法

import copy
a = [1,2,3]
b = copy.copy(a)
print(b is a ,b == a)
#输出结果为:False,True
c = [1,2,[1,2]]
d = copy.copy(c)
print(c[2] is d[2])
#输出结果为True
e = copy.deepcopy(c)
print(c[2] is e[2])
#输出结果为:False
f = [1,2,[1,2,[1,2]]]
g = copy.deepcopy(f)
print(g[2][2] is f[2][2])
#输出结果为:False

当列表里面嵌套着列表时,需要用deepcopy

字典、列表、元祖、字符串的综合(2)相关推荐

  1. python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...

    前言 Python作为目前最火的编程语言之一,是一门解释型的高级编程语言,特点是简单明确.今天我们来简单介绍一下其中的列表.元祖.字典和集合,希望大家多多讨论. 列表(list) 具有以下特点: 1. ...

  2. python 常用字符串 列表元祖字典都 自带的函数方法

    上节内容回顾和补充编程语言高级低级Python种类JavaPythoncPython *****pypy字节码 和 机器码Python程序:1. 终端:C:\python35\python.exe D ...

  3. python字典、列表、元祖使用场景_python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍...

    python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 元祖跟列表类似.只不过是有区别的. 如下: tuple(元祖英文) 跟列表类似, 元素不能 ...

  4. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  5. python判断字符串在元祖_Python基础(2)——字典、元祖、字符串方法、非空即真、文件...

    目录: 一.字典 二.元祖 三.字符串方法.切片 四.非空即真,非0即真 五.文件 正文 一.字典 字典 d = { 'username':'xiaohei', 'id':1, 'grand':'天马 ...

  6. 元祖字典 java_元祖和字典

    元祖的定义 Tuple 元祖与列表类似,不同之处在于元祖中 元素不能修改 元祖表示多个元素的序列 元祖在python中,有特定的应用场景 元祖用于存储 一串信息,数据之间用逗号分隔 元祖用 ( ) 定 ...

  7. python 列表 元祖 字典 集合_python基础知识之列表、元祖、字典、集合、字符串。...

    1.可变类型之列表 列表用 [ ]来定义是可变的,可以通过索引值来去查询里面的字段可以可以追加,删除等 ```python names='zhangyang guyun xiangpeng xulia ...

  8. Python入门 [输出,注释,列表,元祖,集合,字典,if,while,for]

    print("Hello Python") #输出 ''' 多行注释 用 三个引号 ''' a=1 #赋值 变量首字母只能书字母下划线 第二个字符数字,字母,下划线 声明一个列表 ...

  9. 列表 元祖 字典

    1.列表 形如list1 = ['cat',1,3.4],由[  ]括起来的一组序列称为列表,属于可变数据类型.列表中的元素可以是任意数据类型,整型,浮点型,字符串类型,甚至可以是列表.元祖或者字典. ...

  10. 19道Python基础列表元祖的练习题

    1.创建一个空列表,命名为names,往里面添加old_driver,rain,jack,shanshan,peiqi,black_girl元素 names = ["old_driver&q ...

最新文章

  1. PTA基础编程题目集-6-11 求自定类型元素序列的中位数
  2. 第四章 菜单、工具栏和状态栏(第8课)
  3. Transact-SQL 示例 - 查询某个数据库内的所有表的记录行数及其总和
  4. powershell使用git
  5. .network 中文文档_以太坊链下支付网络Raiden API中文文档
  6. css中的.clearfix是什么意思?
  7. Atitit.wrmi web rmi框架新特性
  8. 【路径规划】基于matlab粒子群算法栅格地图路径规划【含Matlab源码 579期】
  9. 计算机视觉及智能影像行业深度研究报告
  10. python八卦时间代码_Python实践代码总结第5集(日期相关处理)
  11. window10无法自动修复此计算机,Win10系统自动修复无法修复电脑如何解决
  12. Leetcode 037 解数独 思路详解 python
  13. 邮件营销整体解决方案
  14. 聊一下“深度学习”的基本思想
  15. 【冷冻电镜|论文阅读】子断层平均 M 软件解读:Multi-particle cryo-EM refinement with M
  16. Win7 vista 界面美化
  17. 视频教程-ajax教程 在线视频培训教程(含课程源代码)-JavaScript
  18. 重识MySQL -《MySQL是怎样运行的》
  19. ArcGIS Server发布GP
  20. LeetCode | Reverse Linked List II

热门文章

  1. 超级直播sop直播源.zip_双11首场虚拟直播,天猫超级直播开创直播新玩法
  2. rog live service是什么_王者荣耀日活跃用户破亿!ROG游戏手机助力水友赛进入4强争夺...
  3. ABAP更改程序的请求包操作
  4. 【转】维护工厂库存的一般设置
  5. ABAP常见面试问题
  6. ABAP性能优化之使用二分查找(Binary Search)选项
  7. Function宝典
  8. 中央空调“国进外退”,格力、美的、海尔三大白如何角逐新市场?
  9. 工业互联网企业如何做,才能“赋能万物,连接未来”?
  10. 零售商的“基因改造”浪潮