如何将列表中的项目合并为一个

时间:2018-02-27 03:52:58

标签: python python-3.x list user-input

我对如何让我的项目在列表中看到几个字符看起来有点困惑。到目前为止,整个事情看起来像:

classes=input("Enter your classes: " )
     def printsched(classes):
          for n in classes:
               print(n)
          return len(classes)
printsched(classes)
print(printsched(classes))

当我以["GE0 101", "PSY 101", "GER 104"]之类的形式输入课程时,我希望将其打印出来:

GEO 101
PSY 101
GER 104

见下文,看看它给了我什么。它将每个字符视为列表中的一个项目。我还需要它来返回列表中所有字符的值,所以在这个例子中,我希望它是21,但它给了我34.我怎么能解决它所以GEO 101和其他所有将是一个项目

[
"
G
E
0
1
0
1
"
,

"
P
S
Y

1
0
1
"
,

"
G
E
R

1
0
4
"
]

1 个答案:

答案 0 :(得分:-1)

<强> [更新]

使用ast.literal_eval()代替危险eval()(正如Francis Colas在评论中指出的那样)

import ast

classes=input("Enter your classes: " )

def printsched(classes):
    classes = ast.literal_eval(classes)
    for n in classes:
        print(n)
    return len(classes)

printsched(classes)

<强> [原文]

我建议只使用eval(),如下所示:

classes=input("Enter your classes: " )

def printsched(classes):
    classes = eval(classes)
    for n in classes:
        print(n)
    return len(classes)

printsched(classes)