答。不能使用python函数sort(),但可以使用min()和/或max()
b。如果输入参数包含重复值,则返回仅包含唯一值的列表(注意:大写和小写字符不相同)
c。示例:
一。排序列表([2,-3])->[-[第3、2页]
二。排序列表([2,3,2])->[[第2、3条]
iii.排序列表([2,3,1])->[[第1、2、3页]
iv.排序列表(['z','a'])->;['a','z']
五。排序列表(['H','B'])->;['B','H']
vi.排序列表(['a','B'])->;['B','a']
if s == []:
return []
number_list = []
letter_list = []
final_list = []
if type(s[0])==int:
my_list = 'numbers'
else:
my_list = 'letters'
i=0
while i < len(s):
#convert letters to ascii
s[i]=ord(s[i])
i+=1
if my_list == 'numbers':
i = 0
while 0 != len(s):
#sort the list
number_list.append(min(s))
s.remove(min(s))
i+=1
j=0
while j < len(number_list)-1:
#remove duplicates
if number_list[j]==number_list[j+1]:
number_list.remove(number_list[j+1])
j+=1
return number_list
else:
#sorts through the letters
i = 0
while 0 < len(s):
#sort the list by ascii value
letter_list.append(min(s))
s.remove(min(s))
#take out the minimum value to get the second lowest etc.
i+=1
j=0
while j < len(letter_list)-1:
#remove duplicates
if letter_list[j]==letter_list[j+1]:
letter_list.remove(letter_list[j+1])
j+=1
while 0<len(letter_list):
final_list.append(chr(letter_list[0]))
letter_list.remove(letter_list[0])
while len(letter_list)!=0:
final_list.append(letter_list[0])
letter_list.pop()
final_list[-1]=chr(final_list[-1])
return final_list,letter_list[0],len(letter_list)
print(sort_a_list(['a','B','d','K','e']))
我得到一个输出(['B','K','a','d'],101,1)
如何从字母\u列表中提取101,将其从ASCII转换为字符并附加到最终的\u列表中?在尝试了一系列不同的方法之后,我不断地得到类型错误和索引错误
我只知道怎么做,没关系
相关问题 更多 >
编程相关推荐