day06 列表

2019-01-02  本文已影响0人  挽风style

列表

  1. 什么是列表(list)
  1. 列表的字面量:通过[]括起来,里面有多个元素,每个元素用逗号隔开

注意:列表元素的类型可以是任何python支持的数据类型;并且通过列表不同元素类型可以不一样

scores = [90, 89, 100, 45, 56]
print(scores)

# 任何类型的数据都可以作为列表的元素
list1 = [90, 10, 'abc', True, [1, 2, 3], lambda x:x**2]
print(len(list1))

list2 = [
    90,
    10.34,
    'hello',
    {'name': 'jim'}
]
print(list2)
  1. 获取列表元素(和字符串获取字符的语法一样)
list3 = [10, 20, 30]
print(list3[1])

movies = ['大黄蜂', '钢铁侠', '蚁人', '雷神', '蜘蛛侠']
print(movies[1:3])
print(movies[1:5:2])
print(movies[3:-4:-1])
直接遍历
for item in movies:
    print(item)

# 通过遍历下标遍历
for index in range(len(movies)):
    print('下标:', index)
    print(movies[index])



animes = ['海贼王', '火影忍者', '一人之下', '秦时明月', '一拳超人', '海贼王']

列表的增删改

  1. 增(添加列表元素)
animes.append('一拳超人')
print(animes)
animes.insert(2, '犬夜叉')
print(animes)

  1. 删(删除元素)

注意: del是python中的关键字,可以用它删除任何数据
删除的时候下标不能越界

注意:被删除的元素在列表中 必须是存在的

# del
del animes[-1]
print(animes)

# remove
animes.remove('海贼王')
print(animes)

# pop
del_item = animes.pop()
print(animes, del_item)

del_item = animes.pop(0)
print(animes, del_item)

练习:用一个列表统计一个班的学生年龄(控制台不断输入年龄的值,直到输入end为止),删除所有小于18岁的年龄

index = 0
age = input('请输入年龄:')
ages = []
ages.append(age)
if age != 'end':
    ages.append(int(age))
    age = input('请输入年龄:')

while index < len(ages):
    if age < 18:
        del ages[index]
    else:
        index += 1

print(ages)
"""
# 坑一: 遍历列表删除部分,删不全!  --遍历时对原列表进行切片
ages = [12, 34, 45, 67, 3, 8]
for age in ages[:]:
    if age < 18:
        ages.remove(age)

print(ages)


# 将小于18岁的取出来,存到一个新的列表中
ages = [12, 13, 20, 18, 30, 10]
new_age = []
index = 0
while index < len(ages):
    age = ages[index]
    if age < 18:
        del ages[index]
    else:
        index += 1

print(ages, new_age)
  1. 改(修改元素的值)

list1 = [1, 2, 3]
list1[0] = 'abc'
print(list1)

练习:有一个列表中保存的是学生的成绩,要求将列表中成绩小于60的改成'下一个班见',并且统计下一个班见的学生个数

list1 = [45, 67, 90, 89, 56, 77]
count = 0
for index in range(len(list1)):
    if list1[index] < 60:
        list1[index] = '下一个班见'
        count += 1
print(list1, count)

listOperation

  1. 相关运算:
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
print(list1 + list2)
print(list1 * 2)


print([1, 2, 3] == [2, 1, 3])  # False
print([1, 2, 3] == [1, 2, 3])  # True

print([1, 2, 3, 4] > [1, 2, 3])   # True


  1. in / not in
print([1, 2] in [1, 2, 3])  # False
print([1, 2] in [[1, 2], 2, 3])  # True
print('abc' in [10, 'abc', True])   # True

  1. len
print(len([1, [1, 2], 2, 'abc', True]))
  1. list
# list = 10     # 注意:不能python给我们提供的类型的名字来命名

list1 = list('hello')
print(list1)

list2 = list(range(11, 21))
print(list2)
  1. 序列其他方法

注意:以上三个方法,要求序列中的元素类型必须一致,并且类型支持比较运算或者加法运算


print(max([13, 14, 56, 12, 34]))
print(min([13, 14, 56, 12, 34]))
print(sum([13, 14, 56, 12, 34]))
print(sum(range(101)))
上一篇 下一篇

猜你喜欢

热点阅读