我试图将states数组的值的长度放入一个单独的数组中,然后按降序对它们进行排序,但是我很难将字符串的所有长度值放入数组中,而不是在迭代之后有一个值。你知道吗
states = ["Abia", "Adamawa", "Anambra", "Akwa Ibom", "Bauchi", "Bayelsa", "Benue", "Borno", "Cross River", "Delta", "Ebonyi", "Enugu", "Edo", "Ekiti", "Gombe", "Imo", "Jigawa", "Kaduna", "Kano", "Katsina", "Kebbi", "Kogi", "Kwara", "Lagos", "Nasarawa", "Niger", "Ogun", "Ondo", "Osun", "Oyo", "Plateau", "Rivers", "Sokoto", "Taraba", "Yobe", "Zamfara"]
for i in states:
a = [len(i)]
print(a)
您可以使用列表:
如果需要使用for循环,请创建一个列表并附加到其中:
也可以使用^{} 函数而不使用
for
循环:因为您希望长度按降序排序,所以将
sorted
与reverse=True
一起使用并列出输出
要获得排序列表的索引而不诉诸
NumPy
数组,有许多方法:see here。我个人更喜欢直接使用NumPy
的argsort
。顾名思义,它以升序返回与排序数组/列表相对应的索引数组。要获得降序的索引,只需使用[::-1]
反转argsort
返回的数组。以下是您的问题的解决方案:输出
如您所见,上面输出中的第一个索引是
8
,这意味着states
的第9个元素是Cross River
。同样,您可以访问和验证其他元素。你知道吗相关问题 更多 >
编程相关推荐