码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础学习05

时间:2019-02-04 14:14:15      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:class   pytho   生成   拷贝   2.0   存在   有序   元素   color   

列表

列表就有顺序的数据的组合

说到顺序,就能想到字符串中提到的序列(suqence);列表同样有序列,而且他的序列与字符串一致!如下图

技术图片

创建列表

# 1、创建一个空列表
list1 = []
# # type是内置函数,查看数据的类型
print(list1的数据类型为:,type(list1))
print(list1 = ,list1)

# 创建存在数据的列表
list2 = [33]
print(list2的数据类型为:,type(list2))
print(list2 = ,list2)

# 创建存在多数据的列表
list3 = [3,1,5,7,9]
print(list3的数据类型为:,type(list3))
print(list3 = ,list3)

输出的结果如下:

list1的数据类型为: <class list>
list1 =  []
list2的数据类型为:
<class list> list2 = [33]
list3的数据类型为:
<class list> list3 = [3, 1, 5, 7, 9]

列表中的数据可包含python中所有的数据类型

l1 = 我是变量
list4 = [1,1.1,l1,字符串,True,1+1,[4/2,3],]
print(list4的数据类型为:,type(list4))
print(list4 = ,list4)

输出结果如下:

list4的数据类型为: <class list>
list4 =  [1, 1.1, 我是变量, 字符串, True, 2, [2.0, 3]]

 列表的sequence(序列)操作

上文有提到,列表同字符串一样,是有序列的,存在序列,就支持切片操作!

l1 = 我是变量
list5 = [1,1.1,l1,字符串,True,1+1,[4/2,3],]
print(list5的值:,list5)
# 查看列表中某一值
print(list5[4]的值:,list5[4])

# 查看列表中字符串中某一元素
print(list5[3][0]的值:,list5[3][1])
# 查看列表中的列表中某一元素
print(list5[-1][1]的值:,list5[-1][1])

# 切片操作
# 再次强调,切片操作所切内容左含右不含!
print(list5[1:4]的值:,list5[1:4])
# 切片操作可以设置步长,且步长默认为1 print(list5[1:4]的值:,list5[1:4:2])
# 下标可以超出列表长度 print(list5[4:11]的值:,list5[4:11]) # 所切的下标值可以为空,即左边下标值默认为0,右边默认值为最大下标+1 print(list5[:]的值:,list5[:]) print(list5[1:]的值:,list5[1:]) print(list5[:4]的值:,list5[:4]) # 切片同样可以对负下标进行操作 print(list5[-5:-1]的值:,list5[-5:-1])

输出结果如下:

[1, 1.1, 我是变量, 字符串, True, 2, [2.0, 3]]

list5[4]的值: True

list5[3][0]的值: 符
list5[-1][1]的值: 3

list5[1:4]的值: [1.1, 我是变量, 字符串]
list5[1:4:1]的值: [1.1, 字符串]
list5[4:11]的值: [True, 2, [2.0, 3]]

list5[:]的值: [1, 1.1, 我是变量, 字符串, True, 2, [2.0, 3]]
list5[1:]的值: [1.1, 我是变量, 字符串, True, 2, [2.0, 3]]
list5[:4]的值: [1, 1.1, 我是变量, 字符串]

list5[-5:-1]的值: [我是变量, 字符串, True, 2]

切片操作生成的是一个全新的列表

# 这里引用一个内置函数id(),作用是显示出一个变量或者数据的唯一确定编号
# 例如:
a = 1
b = 1
print(a的id为:,id(a))
print(b的id为:,id(b))

c = a
print(c的id为:,id(c))

输出结果如下:

a的id为: 1467867920
b的id为: 18602144

c的id为: 1467867920

以下对切片操作进行校验,生成的列表是否为新列表

# 通过id可以直接判断出分片是从新生成了一份数据还是使用的同一份数据
list6 = [3,3,101,5.5]
list7 = list6[:]
list8 = list7

# 如果两个id值一样,则表明分片产生的列表是使用的同一地址同一份数据
# 否则,则表明切片是从新生成了一份数据,即一个新的列表,然后把数值拷贝到新列表中
print(list6的id为:,id(list6))
print(list7的id为:,id(list7))
print(list8的id为:,id(list8))

输出结果如下:

list6的id为: 47179336

list7的id为: 47179416

list8的id为: 47179416

可以看到list7是由list6切片而来,然而id(list6) != id(list7)

 

Python基础学习05

标签:class   pytho   生成   拷贝   2.0   存在   有序   元素   color   

原文地址:https://www.cnblogs.com/wilson-5133/p/10350997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!