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

python基础数据类型一(元祖)

时间:2019-10-03 16:28:05      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:只读   cal   pen   容器类   error:   def   生成   lis   需要   

一.元祖

1.对于容器型数据类型list,无论谁都可以对其增删改查,那么有一些重要的数据放在list中是不安全的,所以需要一种容器类的数据类型存放重要的数据,创建之初只能查看而不能增删改,这种数据类型就是元祖。

元祖:俗称不可变的列表,又被成为只读列表,元祖也是python的基本数据类型之一,

用小括号括起来,里面可以放任何数据类型的数据,查询可以,循环也可以,切片也可以.但就是不能改.在python中关键字是tuple

tu = ('我','怎么','这么','可爱')

tu1 = tu[0]  # 记性下标
print(tu1)

for i in tu:
    print(i)  # 进行for循环

tu2 = tu[0:3]
print(tu2)  # 进行切片

结果:
Traceback (most recent call last):
  File "D:/python_object/path2/test.py", line 1286, in <module>
    tu[0] = '你'
NameError: name 'tu' is not defined

关于不可变, 注意: 这里元组的不可变的意思是子元素不可变. 而子元素内部的子元素是可以变, 这取决于子元素是否是可变对象.

元组中如果只有一个元素. 一定要添加一个逗号, 否则就不是元组

tu = ('meet')
print(type(tu))  #type是查看数据类型

结果:
<class:str>

tu = ('meet',)
print(type(tu))  #type是查看数据类型

结果:
<class:tuple>

这个知识点如何使用

1.可遍历

2.可切片

3.有len,count,index方法

元祖嵌套  

tu = ('今天姐姐不在家','姐夫和小姨子在客厅聊天',('姐夫问小姨子税后多少钱','小姨子低声说道说和姐夫还提钱'))
tu1 = tu[0]
tu2 = tu[1]
tu3 = tu[2][0]
tu4 = tu[2][1]

print(tu1)
print(tu2)
print(tu3)
print(tu4)
结果:
今天姐姐不在家
姐夫和小姨子在客厅聊天
姐夫问小姨子税后多少钱
小姨子低声说道说和姐夫还提钱

在哪里使用

就是将一些非常重要的不可让人改动的数据放在元祖中,只供查看。后期你们写项目的时候会有配置文件,配置文件中的不想让人修改的单个变量使用常量,如果是多个不想让人修改的就是用元组来存储

二.range

翻译过来就是范围,那我们我来先看下.

range(0,5,1)

参数第一个是范围的起始位置
参数第二个是范围的结束位置
参数第三个是步长
print(range(0,5))
# 结果:
range(0, 5)  #一个范围
# 我们可以通过list方法来转换这个范围来查看一下
l = list(range(0,5))
print(l)

# 结果:
[0, 1, 2, 3, 4]
l = list(range(0,5,2))
print(l)
# 结果:
[0, 2, 4]   # 这个结果就会发现和我之前用步长获取的内容是相似的,是的他就是步长
  • range的特性是顾头不顾尾

  • python2和python3中的区别

    print(range(0,10))
    #python2中直接返回列表,xrange()和python3中的range相似
    #python3中作为迭代对象,怎么写就怎么打印,可以使用list()进行转换
  • range的语法

    range(0,10)#起始位置和终止位置,起始位置是0时可以默认不写
    range(10,1,-1)#也可以从大到小生成数据,
    range(1,100,2)#也可以用来生成奇数和偶数等
  • 常见的问题

    lst = []
    for i in lst:
        lst.append("meet")
        print(lst)  # 不会打印内容  因为lst是空的
    
    lst = [1,2]
    for i in lst:
        lst.append("meet")
        print(lst) # 循环打印lst中的内容 -- 此循环是死循环
    
    lst = [1,2]
    for i in lst:
        lst.append("meet")
    print(lst)  # 死循环 -- 不会打印内容
    
    lst = []
    for i in range(5):
        lst.append([])
    print(lst)  # [[],[],[],[],[]]
    
    lst = [1,2]
    lst[0] = lst
    print(lst)  # [[...],2]

python基础数据类型一(元祖)

标签:只读   cal   pen   容器类   error:   def   生成   lis   需要   

原文地址:https://www.cnblogs.com/luckinlee/p/11619855.html

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