【发布时间】:2020-02-20 23:00:39
【问题描述】:
我有一个 Python 课程的练习,我陷入了问题 4:
在空间 [1,50] 中使用 200 个随机整数创建
list1,并打印该数字是 10 的多少倍。使用 50 个整数 [1,2,3, ..., 50] 创建
list2,然后使用append()函数将列表连接在一起并显示大小。- 删除索引号从99到130的数据,删除项目后打印列表大小。
- 在列表中查找最大值和最小值。
我对如何查找 MAX 的第一个想法是对列表进行排序并获取最后一个值,但由于列表中的一项是列表,我收到此错误 TypeError: '<' not supported between instances of 'list' and 'int'。
关于我必须做什么的任何想法? 在这个问题之前,我的代码如下:
import numpy as np
#Question1
j= 0;
list1 = list(range(200)) #decalre list1
for i in range(200):
list1[i] = np.random.randint(50) #create a list of length 200 with values 0 to 50.
if list1[i] == 10:
j = j+1
print("Number 10 exists ",j,"times in the list.")
#QUESTION2
list2 = list(range(1,51)) #Declare list2
list1.append(list2) #append list2 on list1
print(len(list1))
#QUESTION3
for i in range(99,130): # deletes the items with an index number from 99 to 130
list1.pop(i)
print(len(list1))
【问题讨论】:
-
我认为你误解了这个问题。您可能应该在循环中使用
append来附加单个项目,而不是整个列表,因此列表保持数字列表。另请注意,如果您在循环中pop,您实际上会弹出位置 99、101、103、... -
另外,列表的构造方式,
min和max保证分别为 1 和 50(来自lst2的值,它们不是随机的,永远不会被删除) -
好的,我会试试的。非常感谢您回答我的问题。我对python有点陌生,仍在尝试获取逻辑。
标签: python python-3.x list