我需要帮助来为列表编写python函数,这将做两件事。
首先,它将用数字5000(代表最大)和-5000(代表最小)替换列表中的最大和最小元素。
thelist = input("Please input a list with numbers: ")
mylist = list(map(int, thelist.split()))
请输入数字列表:1 2 3 4 5 6 7 8 9 10
print(mylist)
结果:[1、2、3、4、5、6、7、8、9、10]
老实说,我不知道如何使用py函数用数字5000和-5000替换数字1和10。我可以获得最小值和最大值,但是替换它们是我不知道的方法。
答案 0 :(得分:2)
在使用列表理解的简短格式中,您可以使用
/etc/dhcp/dhclient.conf
它将最小元素替换为-5000,将最大元素替换为5000。f有几个最小值,所有这些最小值都将被替换。您可以使用函数使用-5000、5000以外的其他值。
答案 1 :(得分:1)
您可以使用mylist[0] = -5000
和mylist[-1] = 5000
。
负索引从列表的右侧开始计数
或者您的列表很混乱
尝试一下
min_pos = mylist.index(min(mylist))
max_pos = mylist.index(max(mylist))
mylist[min_pos] = -5000
mylist[max_pos] = 5000
print(mylist)
希望这能回答您的问题
答案 2 :(得分:0)
这可以通过最小/最大两个阶段来完成:
arr = [1,2,3,4]
arr[arr.index(max(arr))] = 5000
这将产生:
[1、2、3、5000]
这里的两个阶段是:
max(arr)
。在此示例中,该值为4。arr.index(4)
。在此示例中,索引将为3。这两个阶段导致在最大值单元格的索引处进行赋值。请注意,这假设一个唯一的最大值。
答案 3 :(得分:0)
mylist[mylist.index(min(mylist))] = -5000
mylist[mylist.index(max(mylist))] = 5000
答案 4 :(得分:0)
您可以具有以下功能:
In [361]: def replace_vals(l):
...: min_index = l.index(min(l)) # min(l) finds minimum of list. 'l.index()' finds the index of a given value.
...: max_index = l.index(max(l)) # max(l) finds maximum of list.
...: l[min_index] = -5000 # Just replace min_index found above by -5000
...: l[max_index] = 5000 # Just replace max_index found above by 5000
...:
In [355]: lst=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
In [362]: replace_vals(lst)
In [363]: lst
Out[363]: [-5000, 2, 3, 4, 5, 6, 7, 8, 9, 5000]