处理列表的用户输入

时间:2014-01-16 13:14:35

标签: python

我将用户输入放入列表中,但我想知道如何更改输入在列表中的存储格式,例如:

代码

lst = list(raw_input("Enter message: "))

用户输入

ABABABAB

输出

['A', 'B', 'A', 'B', 'A', 'B', 'A', 'B']

期望输出

['AB', 'AB', 'AB', 'AB'] 

2 个答案:

答案 0 :(得分:2)

您可以使用textwrap模块将字符串拆分为均匀大小的块:

使用您的输入样本ABABABAB并将其分块为2个小组:

>>> import textwrap
>>> lst = textwrap.wrap(raw_input("Enter message: "), 2)
Enter message: ABABABAB
>>> lst
['AB', 'AB', 'AB', 'AB']

使用我建议的样本输入ABCABCABC并将其分块为2个组:

>>> lst = textwrap.wrap(raw_input("Enter message: "), 2)
Enter message: ABCABCABC
>>> lst
['AB', 'CA', 'BC', 'AB', 'C']

请注意额外的字母是如何独立的。

答案 1 :(得分:1)

将列表理解与range一起使用:

>>> user_input = 'ABABABABA' # user_input = raw_input("Enter message: ")
>>> [user_input[i:i+2] for i in range(0, len(user_input), 2)]
['AB', 'AB', 'AB', 'AB', 'A']