day9序列基础练习题

列表基础练习题

选择题

  1. 下列选项中能正确表示一个列表的是(D)。

    A.{1, 2, 3}

    B.[10, abc, 123]

    C. [10 20 30]

    D.[1, 2, 3]

  2. (多选)已知一个列表nums = [10, 20, '小明', [1, 2]],以下表达式结果是小明的是?(CD)

    A. nums[-3]

    B. nums[3]

    C.nums[-2]

    D. nums[2]

  3. 以下选项关于列表说法错误的是?(C)

    A. 列表可以放在for循环的in后面

    B. 列表是可变的序列

    C. 列表是有序的,只支持增删改,不支持查操作

    D. 列表的in操作可以判断元素是否存在

  4. 已知一个列表names = ['小乔', '甄姬', '王昭君', '妲己', '女娲', '西施', '嬴政'],下面的表达式中结果是[]的是?(C)

    A. names[1:] # [‘甄姬’, ‘王昭君’, ‘妲己’, ‘女娲’, ‘西施’, ‘嬴政’]`

    B. names[:1] # [‘小乔’]

    C. names[1:4:-1] # []

    D. names[1:4:2] # [‘甄姬’, ‘妲己’]

  5. 已知列表list1 = [10, [1, 2], 100, 1000],下列表达式结果是True的是?(D)

    A. 100 not in list1 # False

    B. 1 in list1 # False

    C. 2 in list1 # False

    D. [1, 2] in list1 # True

  6. 下列选项中不属于序列的是?(D)

    A. []

    B. ‘100’

    C. {1, 2}

    D. 100

  7. 已知student = {'name': '小明', 'age': 18, 'gender':'男'}下列关于字典的操作正确的是?(D)

    A. student('name')

    B. student[name]

    C. student['小明']

    D. student['age']

  8. 下列表达式有误的是?(D)

    A. 100 + 30.03

    B. 188 * '12'

    C. 188 * 12

    D. 188 + '12'

  9. (多选)下列表达式能产生[1, 2, 3]的是?(AD)

    A. [1, 2] + [3]

    B. [1, 2].append(3) # None

    C. [1, 2].extend(3) # TypeError: ‘int’ object is not iterable

    D. [1, 2, 3] * 1

  10. (多选)下列选项中属于可变序列的是?(AC)

    A. 列表

    B. 元组

    C. 字典

    D. 字符串

填空题

  1. python中获取指定数据的类型可以使用( type() )函数。

  2. 查看数据地址的函数是( id() )。

  3. 如果要将数据转换成列表,需要使用( list() )。

  4. ( len() )函数可以用来获取任意序列中元素的个数。

  5. 如果需要将一个数据插入到列表的中间需要使用函数( 列表.insert() )。

  6. Python中数学集合运算中求交集、并集、差集和对称差集的符号分别是( & )、( | )、( - )、

    ( ^ )。

  7. 请列举出你知道的Python中的不可变的数据类型:( 整型、元组、字符串 )。

  8. 获取字符编码值和获取编码值对应的字符的函数分别是( ord() )、( chr() )。

  9. 如果要判断序列中是否存在某个元素可以使用( in )来判断。

  10. 如果要判断两个数据的地址是否相等可以使用( is )。

编程题

  1. 已知一个列表names = ['胡歌', '王凯', '王俊凯', '杨幂', '刘德华', '张国荣', '王祖贤', '张伟']

    1)依次打印列表中的每个元素

    2)统计列表中姓的人的个数。

    3)统计名字是两个字的人的个数。

names = ['胡歌', '王凯', '王俊凯', '杨幂', '刘德华', '张国荣', '王祖贤', '张伟']
# 1)依次打印列表中的每个元素
for x in names:
    print(x, end=" ")
print()
# 2)统计列表中姓张的人的个数。
count = 0
for x in names:
    if x[0] == '张':
        count += 1
print(f'表中姓张的人数有{count}人')
# 3)统计名字是两个字的人的个数
count1 = 0
for x in names:
    if len(x) == 2:
        count1 += 1
print(f'表中名字是两个字的人的个数有{count1}个')
  1. 已知字典dog = {'name': '大黄', 'color': 'yellow', 'age': 3, 'kind': '土狗'}

    1)打印所有key对应的值

    2)将name的值修改成 ‘旺财’

    3)添加狗的价格对应的键值对

    4)清空dog字典

dog = {'name': '大黄', 'color': 'yellow', 'age': 3, 'kind': '土狗'}
# 1)打印所有key对应的值
for x in dog:
    print(dog[x], end=" ")
print()
# 2)将name的值修改成 '旺财'
dog['name'] = '旺财'
print(dog['name'])
# 3)添加狗的价格对应的键值对
dog['price'] = '5000'
print(dog['price'])
# 4)清空dog字典
del dog
  1. 已知字符串message = 'You see see, one day day!'

    1)统计字符串中非字母的字符个数

    2)提取出所有的小写字母

 # 1)统计字符串中非字母的字符个数
message = 'You see see, one day day!'
 count = 0
 for x in message:
     if not ('A' <= x <= 'Z' or 'a' <= x <= 'z'):
         count += 1
 print(f'非字母的字符个数为{count}个')
 # 2)提取出所有的小写字母
 list1 = [x for x in message if 'a'<= x <= 'z']
 new_list = "".join(list1)
 print(new_list)
 print("去重复后:{}".format("".join(list(set(new_list)))))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值