列表、元祖、range函数

列表

 

初始列表

why:字符串的缺点:

  • 只能存储少量的数据

  • s=1True[1,2,3]`无论索引,切片 获取的都是字符串类型,单一,转化成他原来的类型还需要再一步转换。

what: python基础数据类型之一:list列表。

  • 列表是以中括号组成,每个元素之间以逗号隔开,容器型数据类型。
    [1, '太白', [1,2,3], True, {'name':'alex'},(22,33)]
  • 其它语言:js语言中叫数组。
  • 列表是一个有序的可以存储大量数据的数据类型

how: 两个方面:

  • 列表的切片
  • 列表的常用操作

where
程序中如果需要你构建一个容器型数据并且是安装顺序存储的大量的数据,你要用到列表。

列表操作

列表的切片

l1 = ['太白', 100, 'alex', '日天', '武大', '吴老师', '景女神']

# 列表的索引

ret = l1[0]
ret1 = l1[1]

print(ret1, type(ret1))
print(l1[-1])
print(l1[-2])

# 切片 顾头不顾腚
print(l1[:4])
print(l1[:5:2])

# 倒叙取值
print(l1[-1:-4:-1])

列表方法

# 增
li = [1, 'a', 'b', 2, 3, 'a']
li.extend(['q,a,w'])    # 迭代的去增, 每个列表元素为一个整体
li.extend(['q,a,w', 'aaa'])
li.extend('a')
li.extend('abc')    # 在末尾增加元素,每次迭代增加
li.extend('a,b,c')
print(li)

li.insert(0, 55)    # 按照索引去增加
print(li)

li.append('aaa')    # 增加到最后
li.append([1, 2, 3])    # 增加到最后, 增加元素为一个整体进行迭代
print(li)

# 删
# 删除操作,只有pop方法有返回值,其它无返回值。
li = [1, 'a', 'b', 2, 3, 'a']
li.pop(1)   # 按照位置去删除,有返回值
print(li)

del li[1:3]     # 按照位置去删除,也可切片删除没有返回值
del li[::2]
print(li)

li = [1, 'a', 'b', 2, 3, 'a']
li.remove('a')      # 按照元素去删除,只能删除列表中查找的第一个元素, 如果想多个操作可以使用for循环删除同名元素
print(li)

li.clear()      # 清空列表

# 改
li = [1, 'a', 'b', 2, 3, 'a']
li[1] = 'aa'
li[1:3] = 's'       # 顺序改动列表时,改动元素个数可以与原元素个数不同
li[:5:2] = 'abc'        # 设定步长改动列表时,改动元素的个数必须与原元素个数相同,否则报错
print(li)

# 查
# 按照索引,按照切片(步长查询)
# for 循环
li = [1, 'a', 'b', 2, 3, 'a']
for i in li:
    print(i)

 

# 其它方法

l1 = ['武大', '太白', '吴老师', '武大', '武大']
# len方法
print(len(l1))

# count 计算某个元素出现的次数
print(l1.count('武大'))

# index 通过元素找到索引,找到第一个就返回,找不到就报错
print(l1.index('太白'))
print(l1.index('武大'))

li = [1, 2, 6, 8, 4, 5]
li.sort() # 列表排序操作,从小到大排序
li.sort(reverse=True) # 排序后进行翻转
li.reverse() # 列表翻转
print(li)

print(sorted(li)) # sorted()方法列表排序

 

元祖

 

特点

  • 只读列表。

  • 是python中基础数据类型之一,容器型数据类型,存储大量的数据。

  • ()里面的元素以,分隔开的数据类型。

    • 例如:(1, '太白', [1,2,3], True, {'name':'alex'}, (22,33))
  • 其它语言中,没有元祖的概念。

  • 元祖是默认不可以进行修改的,只能查询

    • 元祖顶层数据不能修改,但是内部存在可以修改的字典和列表则能对内部指定数据做操作,如果内部是元祖,则还是不能修改
  • 元祖中存储的都是重要的数据,个人信息等。

应用

如果你想存储一些重要的数据,这些时间只读,不能修改,那么你就能放到元祖中。

元祖操作

# tuple元祖
tu1 = (1, 'alex', [1, 2, 3], True)
# 可索引,切片
print(tu1[1])
print(tu1[:3])

# 元祖只能查不能改
# 索引,切片(步长)查询
for i in tu1:
    print(i)
    
print(len(tu1)) # 计算元祖长度
print(tu1.count('alex')) # 获取元素个数
print(tu1.index('alex')) 

# 可以删除元祖
del tu1
print(tu1)

# 元祖顶层数据不能更改,但是内部村子可以修改的字典和列表则能对内部指定数据做操作,如果内部是元祖,则还是不能修改
tu1 = (1, 'alex', [1, 2, 3], True, (1, 2, 3))
# 儿子不能改,孙子可以改
tu1[2].append('太白')
print(tu1)

 

range函数

 

特点

  • 内置函数,python给你提供的一个功能

  • 将range视为:可控制范围的数字列表

range操作

# 顾头不顾腚

# 指定输出1~100
for i in range(1,101):
    print(i)

# 指定步长
for i in range(2, 101, 2):
    print(i)

# 指定输出10~1
for i in range(10,0,-1):
    print(i)

# 如果输出从0开始则不用指定起始索引
for i in range(10):
    print(i)

posted @ 2020-02-26 10:20  zhuntidaoren  阅读(361)  评论(0)    收藏  举报