day3列表

"""
列表(list)是一种有序的容器,放入list中的元素,将会按照一定顺序排列。
Alice同学某次考试语文(Chinese)、数学(Math)、英语(English)三科的成绩分别是92、75、99,
1、请使用list保存这些数据。
2、按科目显示分数
"""
# 列表中的元素类型可以不同
l1 = ['Alice', 'Chinese', 92, 'Math', 75, 'English', 99]
print(l1)

# ['Alice', 'Chinese', 92, 'Math', 75, 'English', 99]


# 分数和科目分别用两个列表显示,打印对应的分数
score = [92, 75, 99]
classes = ['Chinese', 'Math', 'English']
num = 0
for i in classes:
    print(i + '' + str(score[num]))
    num += 1

"""
Chinese:92
Math:75
English:99
"""

"""
列表迭代
"""
L = ['Alice', 66, 'Bob', True, 'False', 100]
for item in L:
    print(item)

# 空列表使用循环迭代时不会打印出东西
L1 = []
for item in L1:
    print(item)

print('******************************')

"""
请使用迭代的方式按顺序输出列表 L = ['Alice', 66, 'Bob', True, 'False', 100] 的下标为偶数的元素
"""
# 1、输出下标为偶数的元素:
L = ['Alice', 66, 'Bob', True, 'False', 100]
num = 0
for i in L:
    if num % 2 == 0:
        print(i)
    num += 1

print('---------------------------')
# 2、输出下标为奇数的元素
for i in L:
    if num % 2 != 0:
        print(i)
    num += 1

# 2.1、输出下标为奇数,用continue的方式
for i in L:
    num += 1
    if num % 2 != 0:
        continue
    print(i)

print('==============================')

"""
列表按索引查询元素:打印索引对应元素时,超范围报错;但切片时超范围只是获取不到元素
"""
names = ['Alice', 'Bob', 'David', 'Ellena']
# print(names[4])     # IndexError: list index out of range
# print(names[-5])    # IndexError: list index out of range

sub_names = names[0:2]
print(sub_names)  # ['Alice', 'Bob']
print(names[2:5])  # ['David', 'Ellena']
print(names[4:5])  # []

"""
五名同学的成绩可以用一个list表示:L = [95.5, 85, 59, 66, 72],请按照索引的方式分别打印出第一名、第二名、第三名。
"""
L = [95.5, 85, 59, 66, 72]

# 索引正序
print(L[0], L[1], L[4])
# 索引倒序
print(L[-5], L[-4], L[-1])

# 95.5 85 72


"""
列表中新增元素:
1、append():将元素添加到list的尾部,只能一个一个添加
2、insert(下标,元素) :将元素插入列表的指定下标位置,且之前的元素下标像后移
3、extend(可迭代对象):可以用来组装两个列表,将可迭代对象的元素插入到列表的尾部
"""
names = ['Alice', 'Bob', 'David', 'Ellena']
names.append('candy')
print(names)
names.insert(1, 'zoey')
print(names)
names.extend('cibo')
print(names)
names.extend([1, 'world'])
print(names)

"""
['Alice', 'Bob', 'David', 'Ellena', 'candy']
['Alice', 'zoey', 'Bob', 'David', 'Ellena', 'candy']
['Alice', 'zoey', 'Bob', 'David', 'Ellena', 'candy', 'c', 'i', 'b', 'o']
['Alice', 'zoey', 'Bob', 'David', 'Ellena', 'candy', 'c', 'i', 'b', 'o', 1, 'world']
"""


"""
练习:
已有列表['Alice', 'Bob', 'Candy', 'David', 'Ellena'],
利用append()方,insert(),extend()方法,把'Zero', 'Phoebe', 'Gen'三个元素的名字按首字母顺序插入到列表里去
"""
names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
names.append('Phoebe')
names.insert(-1, 'Gen')
names.extend(['Zero'])
print(names)    # ['Alice', 'Bob', 'Candy', 'David', 'Ellena', 'Gen', 'Phoebe', 'Zero']


"""
从list删除元素:
1、pop():默认删除列表的最后一个元素,也可指定下标删除
2、remove():删除列表中的某个元素
3、del L[0]:删除列表中的某个元素
   del L:删除列表
"""
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
L.pop()
L.pop(0)
print(L)    # ['Bob', 'Candy', 'David']

L.remove('Candy')
print(L)    # ['Bob', 'David']

del L[0]
print(L)    # ['David']

del L
# print(L)


"""
二维数组
"""
alice_scores = [100, 89, 92]
bob_scores = [70, 65, 81]
candy_scores = [88, 72, 77]
all_scores = [alice_scores, bob_scores, candy_scores]
print(all_scores)

print(all_scores[1][2])     # 81

"""
练习:有三个长方体,他们的长宽高分别是[1, 2, 3], [5, 3, 2], [7, 3, 2],
定义在数组L中,L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]],请分别求出三个长方体的表面积
表面积计算公式:长×宽×2+宽×高×2+长×高×2
"""
L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]]
for i in L:
    length = i[0]
    width = i[1]
    height = i[2]
    area = length*width*2 + length*height*2 + width*height*2
    print(area)

 

posted @ 2023-03-04 23:43  雪儿来  阅读(20)  评论(0编辑  收藏  举报