使用x中的字母创建列表

时间:2019-05-14 19:28:59

标签: python list

使用列表推导,创建x中使用的所有字母的列表。

x = ‘December 11, 2018’

我尝试写出每个字母,但收到语法错误!

4 个答案:

答案 0 :(得分:0)

在Python中,字符串充当列表;将列表转换成一个集合(只有唯一的值)然后再返回一个列表更加容易和快捷:

unique_x = list(set(x))

或者如果您必须使用列表理解:

used = set()
all_x = "December 11, 2018"
unique_x = [x for x in all_x if x not in used and (used.add(x) or True)]

答案 1 :(得分:0)

x = "December 11, 2018"
lst = [letter for letter in x]

print(lst)                       # test

输出:

['D', 'e', 'c', 'e', 'm', 'b', 'e', 'r', ' ', '1', '1', ',', ' ', '2', '0', '1', '8']

答案 2 :(得分:0)

您可以像这样进行列表理解:

x = ‘December 11, 2018’

new_list = [letter for letter in x]

print(new_list) 

# Output
# ['D', 'e', 'c', 'e', 'm', 'b', 'e', 'r', ' ', '1', '1', ',', ' ', '2', '0', '1', '8']

或者,您可以跳过列表理解,而只需使用new_list = list(x)即可获得相同的结果。

如果只需要字母而没有空格,则可以在x上使用.replace,例如:x.replace(' ','')或在列表理解中添加if子句:

new_list = [letter for letter in x if letter != ' ']

答案 3 :(得分:0)

这应该有效

x = list('December 11, 2018')
print(x)
result = []
for item in x:
    try:
        int(item)
    except ValueError:
        if item == "," or item == " ":
            pass
        else:
            result.append(item)

print(result)

"""
Output:
['D', 'e', 'c', 'e', 'm', 'b', 'e', 'r']
"""

如果仅使用该格式的日期,则可以这样做

x = "December 11, 2018".split()
print(x[0])
"""
Output:
'December'
"""