2014-10-20 15 views
-1

开头的项目。如果我有一个列表:排序在Python列表以及与特定文字

list = ('john', 'adam', 'tom', 'danny') 

,我想用其中的第一个字母是'a''h'之间,像项目的有序输出:

('adam', 'danny', 'john') 

在Python中需要哪种排序功能才能完成此任务?

这是我试过的代码:

l = list() 

while True: 

    s = raw_input("Enter a username: ") 

    l.append(s) 

    print sorted(l) 
+1

1.这不是一个列表,这是一个元组。 2.不要为自己的变量命名(即使它们是列表)“list”。 3.这不是一个代码写作服务;你试过了什么,究竟是什么问题呢? – jonrsharpe 2014-10-20 18:53:50

+0

这是我的代码,我尝试:L =名单() 而真: S =的raw_input( “输入用户名:”) l.append(S) 打印排序(L)的问题我想打印那些以字母a到h开头的名字 – Faradis 2014-10-20 19:06:40

+0

好吧,你没有试图检查名字的第一个字母,在它进入列表之前或之后,并且你正在排序的每一步循环(永远不会结束)。我建议你看一下https://docs.python.org/2/tutorial/index.html – jonrsharpe 2014-10-20 19:08:28

回答

0

您需要2件不同的事情:只与一个可以接受的字母开头的元素的列表,然后该列表的排序版本。前者可以通过列表理解来完成(尽管@jonrsharpe指出,你看起来像你想要的元组,所以你需要将肉转换为列表&将结果转换回来)。