所以我正在做一个开始python类的作业。我被要求编写一个函数,它带有两个参数,一个是字符串,另一个是字母顺序的列表。该函数将返回整数索引作为字符串的放置位置,以使列表保持按字母顺序排列。
我不允许在列表中插入任何内容,或者在任何事项中附加列表(我尝试将字符串添加到列表中,求助然后返回字符串现在所在的索引)所有函数都是return是整数索引值。我可以使用一些指示从哪里开始而不使用插入和求助...谢谢。
答案 0 :(得分:2)
因为我不想为你写作业,这里有一种方法可以用伪代码来做:
def insert_index(string, list)
for every item in your list:
if the item is greater than your string:
return index of item
else:
go to next item
奇怪的是,由于编写python的方式,这非常接近实际的代码...
因为字符串具有可比性,您实际上可以执行'a'<'b'
之类的操作并返回有效的bool。并且由于您的列表是按字母顺序排列的,因此只要您点击一个大于字符串的项目,就会知道您希望字符串的位置。
另外,对你的循环结构使用enumerate
函数会很有用(HINT HINT)
答案 1 :(得分:1)
我会迭代列表并将列表中的当前字符串与您尝试插入的字符串进行比较(< >
比较器使用'b' > 'a'
处理字符串。不要过多地占用,请优点是您给出的列表已经按字母顺序排列,以确定传入字符串的索引将被放入。
答案 2 :(得分:-1)
python中的一个很酷的事情是,如果字母在字母表中更远,则字母值更高。例如,&#39; b&#39; &GT; &#39;一个&#39 ;.事实上,你可以输入&#39; b&#39; &GT; &#39;一个&#39;成为一名翻译,它会告诉你真实的#39;因此,只需循环显示按字母顺序排列的列表,将列表项中的第一个字母与字符串中的第一个字母进行比较。 像这样的东西(我还没有检查过,所以可能效果不好,但试着弄清楚它的主旨)
for i in range(0,len(list)):
if (list[i][0] < str[0]):
print(i)
break