欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python列表、元祖、range

程序员文章站 2024-01-06 14:07:22
...

一、列表

 

str = '你好'        字符串

num = 6          整型,数字

tup = (1,2,3)       ???

 

lst = [0,1,2,3,"周末","abcd",True,False,[01,"xing","星期"]]

   列表

 

        列表,存储一些数据,数据量比较大,列表的元素不限于数字、字符串、布尔值,包括列表。

        序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字,即它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

        Python有6个序列的内置类型,但最常见的是列表和元组。

        字符串是不可变数据类型

 

        序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

        列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

 

下标

print(lst[4])     结果为:周末

 

切片

print(lst[1:3])    结果为:[1, 2],切片还是列表

 

步长

print(lst[1:7:2])   结果为:[1, 3, 'abcd'],步长也还是列表

 

追加

lst = [0,1,2,3,"周末","abcd",True,False,[4,"xing","星期"]]

lst.append("星期六")

print(lst)

结果为:[0, 1, 2, 3, '周末', 'abcd', True, False, [4, 'xing', '星期'], '星期六']

 

迭代添加

lst.extend("week")

print(lst)

结果为:[0, 1, 2, 3, '周末', 'abcd', True, False, [4, 'xing', '星期'], 'w', 'e', 'e', 'k']

 

插入

lst.insert(1,"星期二")

结果为:[0, '星期二', 1, 2, 3, '周末', 'abcd', True, False, [4, 'xing', '星期']]

 

修改

lst = [0,1,2,3,"周末","abcd",True,False,[4,"xing","星期"]]

lst[2] = 5                     #按照下标修改

print(lst)

结果为:[0, 1, 5, 3, '周末', 'abcd', True, False, [4, 'xing', '星期']]

 

lst = ['阿紫','阿圆','阿菲','阿彤']

lst[0:3] = '你好美'

print(lst)                 # 结果为 ['你', '好', '美', '阿彤']

要修改的跟被修改的数量一致,可以修改

 

lst[0:3] = '你好'      #通过切片修改

print(lst)              

# 结果为 ['你', '好', '阿彤']

要修改的数量少于跟被修改的,修改后元素减少

 

lst[0:3] = '阿斯顿发送'

print(lst)  

# 结果为 ['阿', '斯', '顿', '发', '送', '阿彤']

要修改的数量多于跟被修改的,修改后元素增多

 

lst[0:4:2] = '方圆'  # 切片+步长 要修改的跟被修改的数量长度要统一

print(lst)   

# 结果为 ['方', '阿圆', '圆', '阿彤']

 

删除

del lst                  直接删除列表

del lst[0]              按照下标删除

del lst[0:2]           按照切片删除

del lst[0:3:2]        按照切片+步长删除

 

lst[-1].remove("星期")         删除嵌套的列表的元素

lst.remove("abcd")             删除指定元素

 

lst.pop()        不填值默认删除最后一个元素

lst.pop(2)       按照下标删除元素

 

lst.clear()       清空列表

 

列表的查

for循环

 

列表嵌套

lst = ['adb','mnqp','7','后天',['超人','蜘蛛侠','必胜客',['baby','西城']]]

print(lst[4][3][0])             结果为:baby

print(lst[-1][-1][-1])         结果为:西城

 

lst[-1][-1][0] = '雪碧'

print(lst)

结果为:['adb', 'mnqp', '7', '后天', ['超人', '蜘蛛侠', '必胜客', ['雪碧', '西城']]]

 

lst[-2] = '香皂'

print(lst)

结果为:['adb', 'mnqp', '7', '香皂', ['超人', '蜘蛛侠', '必胜客', ['baby', '西城']]]

 

lst[1] = lst[1].upper()

print(lst)

结果为:['adb', 'MNQP', '7', '后天', ['超人', '蜘蛛侠', '必胜客', ['baby', '西城']]]

 

列表的合并

lst1 = [1,2,3]

lst2 = [4,5,6]

lst3 = lst1 + lst2    # 列表合并  开辟了一块空间

print(lst3)       结果为:[1, 2, 3, 4, 5, 6]

 

二、列表的函数

 

lst = ['阿紫','阿圆','阿菲','阿彤']

 

print(lst.index('阿圆'))        结果为:1  # 通过内容查找下标

print(lst.count('阿圆'))        结果为:1    # 计数

print(lst.copy())                 结果为:['阿紫', '阿圆', '阿菲', '阿彤']          # 复制

 

print(lst.reverse())            结果为:None                # 这是一操作,没有返回的内容

lst.reverse()

print(lst) # 变化的内容在原数据查看

结果为:['阿彤', '阿菲', '阿圆', '阿紫']

 

lst = [1,2,3,4,3333,0,222]

lst.sort()  结果为:[0, 1, 2, 3, 4, 222, 3333]     # 排序 默认升序

lst.sort(reverse=True)                                      # 降序

print(lst)  结果为:[3333, 222, 4, 3, 2, 1, 0]

 

 

 

三、元祖

一个不可修改的列表  tuple tu = ()   有序的(字符串、列表也是有序的)

元祖是不可变数据,不能进行修改,存放一些用户密码,元祖其实就是一个不可以修改的列表

tup = (1,2,3,4,"末日",'hello',False)

print(tup[-1])          结果为:False

print(tup[2:5])        结果为:(3, 4, '末日')           # 元祖切片结果也是元祖

print(tup[:5:2])       结果为:(1, 3, '末日')           # 切片+步长

print(len(tup))        结果为:7

 

 

四、range  范围

 

range 第一个元素是起始位置,第二个是终止位置,第三个是步长

python3中range是原生态,Python2中range是列表

range(0,10)       # 0 起始位置 ,10 终止位置

 

面试题:

print(range(0,10))   # python3 中range(0, 10)  是一个可迭代对象

python2  中的xrange和python3中的range是一样的,都是可迭代对象

range    获取到一个列表

print(range(0,10))      #python2中

结果为:[0,1,2,3,4,5,6,7,8,9]

 

print(list(range(1,10,3)))      range 和切片一样

for i in range(0,10):    #python3中

    print(i)

结果为:0 1 2 3 4 5 6 7 8 9

print(range(0,10))

结果为:range(0, 10)

 

range(1,10,2) 第一个是起始位置  第二个是终止位置  第三个是步长  终止位置和切片一样都是顾头不顾尾,他们之间用逗号分开

 

for i in range(1,100,2):    # 可以让for循环来循环数字

    print(i)                         # 可以打印100以内的奇、偶数

 

 

上一篇:

下一篇: