Python——列表的遍历操作

列表的遍历操作

关于列表的遍历的操作

1.获取小标序列,根据下标提取数据值
2.遍历列表,获取列表中的元素
例如
# 获取列表中的元素
#方法一:
nums = [18, 29, 33, 56, 71, 28, 42, 56, 37]
for pos in range(len(nums)): # 0 1 2 3 4 5 6 ... 长度-1
    print(nums[pos],end=' ')
# 输出结果:18 29 33 56 71 28 42 56 37

#方法二:
for i in nums:
    print(i,end=' ')
# 输出结果:18 29 33 56 71 28 42 56 37
# 获取列表中所有偶数
num=[] # 定义一个新的列表 用来存储所有的偶数
for i in nums:
    if i%2==0:
        num.append(i)
print(num)
# 输出结果:[18, 56, 28, 42, 56]
# 获取所有偶数所在的位置
num1=[]
for i in range(len(nums)):
    if i%2==0:
        num1.append(i)
print(num1)
# 输出结果:[0, 2, 4, 6, 8]
# 获取所有的偶数及其对应的位置
for i in range(len(nums)):
    if i%2==0:
        print(i,nums[i])
# 输出结果:
        '''
        0 18
        2 33
        4 71
        6 42
        8 37
        '''

enumerate(有序容器数据)

enumerate(有序容器数据) ====》产生一个新的容器  [[位置, 元素], [位置, 元素]]
二维结构
例如
for i in enumerate(nums):
    print(i)
# 输出结果:
        '''
        (0, 18)
        (1, 29)
        (2, 33)
        (3, 56)
        (4, 71)
        (5, 28)
        (6, 42)
        (7, 56)
        (8, 37)
        '''

拆包

把容器中的数据赋值给N个变量, 把容器拆解 这个过程叫做拆包

例如

a, b = [11, 23]
print(a, b)
# 输出结果:11 23

结合有序容器和拆包

# 利用拆包的原理,获取所有的偶数及其对应的位置
for a,b in enumerate(nums): # a 为位置编号(接受的位置),b 为元素(接受的元素)
    if b%2==0:
        print(a,b)
# 输出结果:
'''
0 18
3 56
5 28
6 42
7 56
'''

列表推导式

产生新列表————遍历简化格式
    [变量 for 变量 in 容器型数据 if 判断条件]
    有些需求不一定是有判断的,if判断条件的存在是根据需求决定有没有

例如

# 获取列表中所有偶数
result = [n for n in nums if n % 2 == 0]
print(result)
#输出结果:[18, 56, 28, 42, 56]
values = [1, 2, 3, 4, 5]
print([d ** 2 for d in values])
# 输出结果:[1, 4, 9, 16, 25]
练习

(1)

score=[82,79,65,47,58,91,66]
利用列表推导式获取60及以上成绩
score=[82,79,65,47,58,91,66]
num_list=[i for i in score if i>=60]
print(num_list)
#输出结果:[82, 79, 65, 91, 66]

(2)

利用列表推导式获取1——100之间个位数是1且是3的倍数的数据
num_list1=[i for i in range(1,101) if i%10==1 and i%3==0]
print(num_list1)
# 输出结果:[21, 51, 81]

你可能感兴趣的:(python,开发语言)