习题二答案

 

1

       当列表从中间或从头增加或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有缝隙,但这涉及到列表元素的大量的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提高处理速度.

2

       (1)

range()函数在python2中是返回值是list类型的。

       (2)

              在python3中,range()函数返回的是一个迭代器对象,而不是列表类型。可使用for进行一一输出,,如果想要转化为列表对象则需要再使用list方法进行转化。

3

"""
import random

from collections import Counter

newList = []

for i in range(1,1001):
  #生成随机数
  num = random.randint(0,100)
  #将生成的随机数加入列表中
  newList.append(num)
result = Counter(newList)

print(result)

"""

##或者

import random

newList = []
newDict = {}

for i in range(1,1001):
  num = random.randint(0,100)
  newList.append(num)
 
for key in newList:
    #在字典中返回值,不在字典中返回0
    newDict[key] = newDict.get(key, 0)+1
print(newDict)

4

       是False

      

 

Python判断某个列表是否是另一个列表的子列表,需要用函数

5

       编写程序,用户输入一个列表和2个整数作为下标,然后输出列表中介于2个下标之间的元素组成的子列表。例如用户输人[1,2,3,4,5,6]和2,5,程序输出[3,45,6]。

alist = list(input("请输入一个列表:"))

a = int(input("请输入第一个下标:"))
b = int(input("请输入第二个小标:"))

if a>b:
    for i in range(b,a):
        print(alist[b:a])
        break
elif a<b:
    for i in range(a,b):
        print(alist[a:b])
        break
elif a==b:
    print([])

6                

         列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为None

         (sort方法会对原列表进行改动)

7

       列表对象的remove(方法删除首次出现的指定元素,如果列表中不存在要删除的元

素,则抛出异常。

8

       不包含后面下标的数,前面包含下标的数

       [6,7,9,11]

9

       设计一个字典,并编写程序,用户输入内容作为“键”,然后输出字典中对应的“值”,

如果用户输人的“键”不存在,则输出“您输入的键不存在!”。

d = {'yi':1,'yang':2,'qian':3,'xi':4}
a = input("请输入名字:")
print (d.get(a,"不存在"))

10

       写程序包含20个随机数的列表,然后将前10个元素升排列,后10个元

素降序排列,并输出结果。

import random

alist = [ ]
i = 0

while i < 20:
    alist.append(random.randint(1, 100))
    i = i + 1

blist = alist[:10]
clist = alist[10:]

blist.sort()
clist.sort(reverse=True)

alist = blist + clist
print(alist)

11

       Python中,字典和集和是用一对大括号{ }作为定符,字典的每个元素有两

部分组成,即键和值,其中键不允许重复。

12

       使用字典对象的items()方法可以返回字典的“键值对”列表,使用字典对象

的keys()方法可以返回字典的“键”列表,使用字典对象的values()方法可以返回字典的“值”列表。

13

假设有列表a = ['name', 'age', 'sex']和b = ['Dong', 38, 'Male'],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为dict(zip(a, b))

14

       假设有一个列表a,现要求从列表a中每3个元素取1个,并且将取到的元素组成新的列表b,可以使用语句b=a[::3]

15

       用列表推导式生成包含10个数字5的列表,语句可以写为[5 for i in range 10 ]

16

       不可以使用del命令来删除元组中的部分元素。

(元组中的元素不可改变,元组和列表均可以切片)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值