Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用循环打印有序列表?_Python - Fatal编程技术网

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。它定义了一个自定义排序函数,并将其传递给键标志