python基础基础数据类型2与for循环
发布于 2021-04-17 05:46 ,所属分类:知识学习综合资讯
目录
基础数据类型:
列表(list)
元组(tuple)
for循环
基础数据类型
列表(list)
列表不仅可以储存不同的数据类型,而且可以储存大量数据。而且列表是有序的,有索引值,可切片,方便取值。
(点击查看大图)
列表的创建
'''方式一:(常用)'''
l1 = [1, 2, 'pamela']
'''方式二:'''
l2 = list() # 创建空列表
print(l2) # []
l3 = list('123') # 括号里放可迭代对象
print(l3) # ['1', '2', '3']
'''方式三:列表推导式'''
l4 = [i for i in range(1, 5)]
print(l4) # [1, 2, 3, 4]
(左右滑动查看完整代码)
列表的增删改查
1.增
'''
append 给列表的最后面追加一个元素
'''
l = [1, 2, 'pamela']
l.append(666)
print(l) # [1, 2, 'pamela', 666]
(左右滑动查看完整代码)
'''
insert 在列表的指定位置插入元素
'''
l = [1, 2, 'pamela']
l.insert(2, 'apple')
print(l) # [1, 2, 'apple', 'pamela']
(左右滑动查看完整代码)
'''
extend 在列表的最后面迭代着追加一组数据
'''
l = [1, 2, 'pamela']
l.extend('abcd')
print(l) # [1, 2, 'pamela', 'a', 'b', 'c', 'd']
l.extend(['apple'])
print(l) # [1, 2, 'pamela', 'a', 'b', 'c', 'd', 'apple']
l.extend(['apple', 3, 4])
print(l) # [1, 2, 'pamela', 'a', 'b', 'c', 'd', 'apple', 'apple', 3, 4]
(左右滑动查看完整代码)
2.删
'''
pop 删除列表中指定的元素(通过索引),返回删除的元素
默认删除最后一个元素
'''
l = [1, 2, 'pamela']
ret = l.pop(1)
print(ret) # 2
print(l) # [1, 'pamela']
l.pop() # 默认删除最后一个元素
print(l) # [1]
(左右滑动查看完整代码)
'''
remove 删除列表中指定的元素(通过元素)
如果有重名元素,默认删除从左数第一个
'''
l = [1, 2, 'pamela']
l.remove('pamela')
print(l) # [1, 2]
l1 = [1, 2, 'pamela', 123, 'pamela']
l1.remove('pamela') # 如果有重名元素,默认删除从左数第一个
print(l1) # [1, 2, 123, 'pamela']
(左右滑动查看完整代码)
'''
clear 清空列表
'''
l = [1, 2, 'pamela']
l.clear()
print(l) # []
(左右滑动查看完整代码)
'''
del 删除列表中指定的元素(通过索引、切片(步长))
'''
l = [1, 2, 'pamela']
del l[2] # 按照索引删除
print(l) # [1, 2]
l1 = [1, 2, 'pamela', 123, 'pamela']
del l1[::2] # 按照切片(步长)删除
print(l1) # [2, 123]
(左右滑动查看完整代码)
3.改
'''按照索引改值'''
l = [1, 2, 'pamela']
l[0] = 'abc'
print(l) # ['abc', 2, 'pamela']
'''按照切片改值(迭代着增加)'''
l1 = [1, 2, 'pamela']
l1[1:3] = 'abcdefg'
print(l1) # [1, 'a', 'b', 'c', 'd', 'e', 'f', 'g']
'''按照切片(步长)改值(必须一一对应)'''
l2 = [1, 2, 'pamela']
l2[::2] = '中文'
print(l2) # ['中', 2, '文']
(左右滑动查看完整代码)
4.查
l = [1, 2, 'pamela', True, [1, 2, 3]]
'''索引,切片(步长)'''
print(l[0]) # 1
print(l[-1]) # [1, 2, 3]
print(l[1:3]) # [2, 'pamela']
print(l[:-1]) # [1, 2, 'pamela', True]
print(l[::2]) # [1, 'pamela', [1, 2, 3]]
print(l[::-1]) # [[1, 2, 3], True, 'pamela', 2, 1]
'''for循环查询'''
for i in l:
print(i)
(左右滑动查看完整代码)
列表的其他操作
'''
count 统计某个元素在列表中出现的次数
'''
l = ['a', 'b', 'c', 'a', 'd', 'e']
print(l.count("a")) # 2
(左右滑动查看完整代码)
'''
index 从列表中找出某个值第一个匹配项的索引位置
'''
l = ['a', 'b', 'c', 'a', 'd', 'e']
print(l.index("c")) # 2
(左右滑动查看完整代码)
'''
sort 在原位置对列表进行排序
'''
l = ['a', 'b', 'c', 'a', 'e', 'd']
l.sort()
print(l) # ['a', 'a', 'b', 'c', 'd', 'e']
(左右滑动查看完整代码)
'''
reverse 将列表中的元素反向存放
'''
l = ['a', 'b', 'c', 'a', 'e', 'd']
l.reverse()
print(l) # ['d', 'e', 'a', 'c', 'b', 'a']
(左右滑动查看完整代码)
'''列表的相加'''
l1 = [1, 2, 3]
l2 = [4, 5, 6]
print(l1+l2) # [1, 2, 3, 4, 5, 6]
'''列表与整数相乘'''
l = [1, 2, 3]
print(l*3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
列表的嵌套
l = [1, 2, 'pamela', [1, 'apple', 3,]]
# 将l1中的'pamela'变成大写并放回原处
l[2] = l[2].upper()
print(l) # [1, 2, 'PAMELA', [1, 'apple', 3]]
# 给小列表[1,'apple',3,]追加一个元素,'pear'
l[-1].append('pear')
print(l) # [1, 2, 'PAMELA', [1, 'apple', 3, 'pear']]
# 将列表中的'apple'通过字符串拼接的方式在列表中变成'applepie'
l[-1][1] += 'pie'
print(l) # [1, 2, 'PAMELA', [1, 'applepie', 3, 'pear']]
(左右滑动查看完整代码)
元组(tuple)
元组又称不可变的列表(只读列表),用小括号括起来,里面可以放任何数据类型,可以查询、循环、切片,就是不能修改。
(点击查看大图)
元组的索引切片
t = ('a', 'b', 'pamela', 1, 123)
print(t[0], type(t[0])) # a <class 'str'>
print(t[-1], type(t[-1])) # 123 <class 'int'>
print(t[1:3], type(t[1:3])) # ('b', 'pamela') <class 'tuple'>
print(t[:-1]) # ('a', 'b', 'pamela', 1)
print(t[::2]) # ('a', 'pamela', 123)
print(t[::-1]) # (123, 1, 'pamela', 'b', 'a')
(左右滑动查看完整代码)
元组的其他操作
'''for循环查询'''
t = ('a', 'b', 'pamela', 1, 123)
for i in t:
print(i)
(左右滑动查看完整代码)
'''
index 通过元素找索引(可切片)
找到第一个元素就返回
找不到该元素就报错
'''
t = ('a', 'b', 'pamela', 1, 123)
print(t.index('pamela')) # 2
(左右滑动查看完整代码)
'''
count 获取某元素在元组中出现的次数
'''
t = ('a', 'b', 'pamela', 'a', 1, 123)
print(t.count('a')) # 2
(左右滑动查看完整代码)
'''
如果元组里面只有一个元素,后面要加一个逗号
如果只有一个元素且没有逗号,则该元组不是元组,与该元素数据类型一致
'''
t = ('a')
print(t, type(t)) # a <class 'str'>
t1 = ('a', )
print(t1, type(t1)) # ('a',) <class 'tuple'>
(左右滑动查看完整代码)
'''
直接从属于元组的元素不能进行增删改
但是间接属于元组的元素不一定
比如:可以修改元组里面的列表里的数据
'''
t = (1, 2, 'pamela', True, [1, 2, 3])
t[-1].append(4)
print(t) # (1, 2, 'pamela', True, [1, 2, 3, 4])
(左右滑动查看完整代码)
'''
应用:元组的拆包
(分别赋值,多一个少一个都不行)
'''
a, b = (1, 2)
print(a) # a
print(b) # b
(左右滑动查看完整代码)
for循环
for循环是用户按照顺序循环可迭代对象的内容。
(点击查看大图)
基本结构
for 变量 in 可迭代对象:
循环体
for循环
msg = 'python123abc'
for item in msg:
print(item)
li = [1, 2, 'pamela', True, [1, 2, 3]]
for i in li:
print(i)
dic = {'name': 'pamela', 'age': 18}
for k, v in dic.items():
print(k, v)
(左右滑动查看完整代码)
range
range可以指定范围,生成指定数字。
for i in range(1, 10):
print(i) # 1 2 3 4 5 6 7 8 9
for i in range(1, 10, 2): # 步长
print(i) # 1 3 5 7 9
for i in range(10, 1, -2): # 反向步长
print(i) # 10 8 6 4 2
# 利用len和range打印列表的索引
li = ['a', 'b', 'pamela', 1, 123]
for i in range(len(li)):
print(i)
(左右滑动查看完整代码)
enumerate
枚举,对于一个可迭代对象,enumerate将其组成一个索引序列,利用它可以同时获得索引和值。
li = ['a', 'b', 'pamela', 1, 123]
for i in enumerate(li):
print(i) # (0, 'a') (1, 'b') (2, 'pamela') (3, 1) (4, 123)
for index, content in enumerate(li, 1): # 起始索引默认是0,可更改
print(index, content) # 1 a 2 b 3 pamela 4 1 5 123
(左右滑动查看完整代码)
相关资源