Python 如何使用循环打印有序列表?
我如何让它打印一个有序的列表,这样如果我输入了猕猴桃、狗、猫,它就会打印出来Python 如何使用循环打印有序列表?,python,Python,我如何让它打印一个有序的列表,这样如果我输入了猕猴桃、狗、猫,它就会打印出来 cat kiwi dog 以下是我的代码: input_string = input("Enter a list element separated by comma:") lisp = input_string. split(',') for i in lisp: if 'cat' == i: print ('cat') elif 'kiwi' == i:
cat
kiwi
dog
以下是我的代码:
input_string = input("Enter a list element separated by comma:")
lisp = input_string. split(',')
for i in lisp:
if 'cat' == i:
print ('cat')
elif 'kiwi' == i:
print ('kiwi')
else:
print (i)
以下是它产生的结果:
猕猴桃
狗
猫
[更新守则]
我知道如何使用排序方法按字母顺序排列,但我需要列表按一定顺序排列,并在底部添加随机单词(例如dog)。我不是编码员,也不是学生,我只是在努力学习。因此,我感谢所有的帮助、所有的方法和您的耐心。只要做:
input_string = input("Enter a list element separated by comma")
lisp = input_string. split(',')
print(sorted(lisp))
input:
[c,b,a]
output:
[a,b,c]
“排序”方法对元素进行排序。如果愿意,可以指定排序方法
e.g:
sorted(iterable[, key][, reverse])
听起来您想按顺序打印列表,只是
“cat”
和“kiwi”
应该移到前面。这本可以奏效的:
lisp = ['kiwi', 'cat', 'dog']
if 'cat' in lisp:
print('cat')
if 'kiwi' in lisp:
print('kiwi')
for i in lisp:
if i not in ('cat', 'kiwi'):
print(i)
输出:
cat
kiwi
dog
回应我第一次回答的评论。设置一个键,然后使用“排序”。详情如下: 检查示例3。它定义了一个自定义排序函数,并将其传递到键标志:
# take second element for sort
def takeSecond(elem):
return elem[1]
# random list
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
# sort list with key
sortedList = sorted(random, key=takeSecond)
这段代码将打印列表中按第三个字符排序的值。这是一个使用lambda函数进行投标的示例。记住,排序是一个潜在的破坏性函数。如果要保留原始列表,应将其包含在复制列表函数中
(loop for an ele in (sort '("cat" "kiwi" "dog")
#'(lambda (x y) (char-lessp (elt x 2) (elt y 2))))
do (print ele))
为什么不直接打印(i)?在问问题之前,试着研究一下自己。我不知道你想用什么方法对列表进行排序,你能详细说明一下你想如何对这个列表排序吗?@coiax他没有对它进行排序。与其使用lisp中的
if'cat:
不如使用if'cat==i:
我知道如何使用排序方法来按字母顺序排序,但我想使用非字母顺序的特定顺序对它进行排序。然后使用示例,设置一个键,然后使用sorted。更多信息:查看示例3。它定义了一个自定义排序函数,并将其传递给键标志