将字符串转换为列表

时间:2014-01-27 05:22:25

标签: python python-2.7 python-3.x

如何将此条带转换为列表?

  

[('WRB','PRP $'),('PRP','VBD'),('NN','CD'),('VBD','PRP $'),   ('VBD','JJ'),('VBN','RB'),('PRP $','NN'),('NNS','TO'),('NNS',   'JJ'),('IN','EX'),('IN','CD'),('VBP','RB'),('RB','NNS'),   ('NNS','VBP'),('JJ','IN'),('NN','CC'),('VBG','CC'),('DT',   'IN'),('VBP','WRB'),('VBG','TO'),('VBP','PRP $'),('NN','JJ'),   ('VBG','PRP'),('JJ','NNS'),('PRP','VBP'),('NN','VBG'),('VBD',   'PRP'),('PRP','DT'),('CC','VBD'),('JJ','JJ'),('JJS','NN'),   ('IN','PRP $'),('NNS','CC'),('DT','NN'),('CC','WRB'),('VBN',   ''JJ'),('PRP','VBZ'),('VBN','VB'),('PRP','PRP'),('JJ','VBN'),   ('IN','TO'),('WP','NNS'),('VB','CC'),('VBP','DT'),('VBN',   'DT'),('PRP','CC'),('NNS','JJ'),('JJ','WRB'),('CD','NN'),   ('RB','VB'),('TO','RB'),('WDT','NN'),('VBP','JJ'),('IN',   'NN'),('WP','NN'),('VBD','JJ'),('PRP $','DT'),('VBZ','DT'),   ('VBG','NNS'),('CD','IN'),('VBZ','RBR'),('CC','JJ'),('WDT',   'MD'),('VBN','EX'),('RB','VBP'),('JJS','IN'),('IN','EX'),   ('NN','IN'),('CD','DT'),('DT','VBD'),('VBP','IN'),('RB',   'MD'),('VBN','PRP'),('JJ','CC'),('CD','PRP'),('NN','JJ'),   ('NN','NN'),('WDT','PRP'),('VBP','VBG'),('RB','TO'),('VBZ',   'NN'),('VBD','RP'),('VBN','VBG'),('WP','PRP'),('NN','MD'),   ('VBP','VBN'),('VBG','PRP $'),('DT','VBN'),('NN','VB'),('VBZ',   'IN'),('DT','CD'),('DT','RBR'),('VB','NN'),('MD','RB'),('TO',   'NNS'),('VBD','DT'),('RP','DT'),('JJR','IN'),('PRP','MD'),   ('DT','JJ'),('PRP','VB'),('NN','EX'),('VBN','NN'),('PRP $',   'JJ'),('NN','WP'),('CC','CD'),('NN','JJR'),('JJS','NNS'),   ('CD','VBG'),('RP','PRP $'),('DT','VBP'),('NNS','NN'),('EX',   'VBP'),('JJS','PRP'),('RBR','JJ'),('RB','VBZ'),('VBD','VBN'),   ('JJ','WP'),('WRB','NN'),('VBZ','RP'),('VBD','NN'),('VBN',   'CD'),('NNS','CD'),('CD','NNS'),('DT','TO'),('RB','NN'),   ('PRP','NN'),('CC','NN'),('VB','RP'),('DT','VBZ'),('VBZ',   'TO'),('EX','VBZ')]

任何python命令都可用吗?

2 个答案:

答案 0 :(得分:2)

假设您的输入是您所呈现的字符串,您可能需要ast.literal_eval

>>> s = """[('WRB', 'PRP$'), ('PRP', 'VBD'), ('NN', 'CD'), ('VBD', 'PRP$'), ('VBD', 'JJ'), ('VBN', 'RB'), ('PRP$', 'NN'), ('NNS', 'TO'), ('NNS', 'JJ'), ('IN', 'EX'), ('IN', 'CD'), ('VBP', 'RB'), ('RB', 'NNS'), ('NNS', 'VBP'), ('JJ', 'IN'), ('NN', 'CC'), ('VBG', 'CC'), ('DT', 'IN'), ('VBP', 'WRB'), ('VBG', 'TO'), ('VBP', 'PRP$'), ('NN', 'JJ'), ('VBG', 'PRP'), ('JJ', 'NNS'), ('PRP', 'VBP'), ('NN', 'VBG'), ('VBD', 'PRP'), ('PRP', 'DT'), ('CC', 'VBD'), ('JJ', 'JJ'), ('JJS', 'NN'), ('IN', 'PRP$'), ('NNS', 'CC'), ('DT', 'NN'), ('CC', 'WRB'), ('VBN', 'JJ'), ('PRP', 'VBZ'), ('VBN', 'VB'), ('PRP', 'PRP'), ('JJ', 'VBN'), ('IN', 'TO'), ('WP', 'NNS'), ('VB', 'CC'), ('VBP', 'DT'), ('VBN', 'DT'), ('PRP', 'CC'), ('NNS', 'JJ'), ('JJ', 'WRB'), ('CD', 'NN'), ('RB', 'VB'), ('TO', 'RB'), ('WDT', 'NN'), ('VBP', 'JJ'), ('IN', 'NN'), ('WP', 'NN'), ('VBD', 'JJ'), ('PRP$', 'DT'), ('VBZ', 'DT'), ('VBG', 'NNS'), ('CD', 'IN'), ('VBZ', 'RBR'), ('CC', 'JJ'), ('WDT', 'MD'), ('VBN', 'EX'), ('RB', 'VBP'), ('JJS', 'IN'), ('IN', 'EX'), ('NN', 'IN'), ('CD', 'DT'), ('DT', 'VBD'), ('VBP', 'IN'), ('RB', 'MD'), ('VBN', 'PRP'), ('JJ', 'CC'), ('CD', 'PRP'), ('NN', 'JJ'), ('NN', 'NN'), ('WDT', 'PRP'), ('VBP', 'VBG'), ('RB', 'TO'), ('VBZ', 'NN'), ('VBD', 'RP'), ('VBN', 'VBG'), ('WP', 'PRP'), ('NN', 'MD'), ('VBP', 'VBN'), ('VBG', 'PRP$'), ('DT', 'VBN'), ('NN', 'VB'), ('VBZ', 'IN'), ('DT', 'CD'), ('DT', 'RBR'), ('VB', 'NN'), ('MD', 'RB'), ('TO', 'NNS'), ('VBD', 'DT'), ('RP', 'DT'), ('JJR', 'IN'), ('PRP', 'MD'), ('DT', 'JJ'), ('PRP', 'VB'), ('NN', 'EX'), ('VBN', 'NN'), ('PRP$', 'JJ'), ('NN', 'WP'), ('CC', 'CD'), ('NN', 'JJR'), ('JJS', 'NNS'), ('CD', 'VBG'), ('RP', 'PRP$'), ('DT', 'VBP'), ('NNS', 'NN'), ('EX', 'VBP'), ('JJS', 'PRP'), ('RBR', 'JJ'), ('RB', 'VBZ'), ('VBD', 'VBN'), ('JJ', 'WP'), ('WRB', 'NN'), ('VBZ', 'RP'), ('VBD', 'NN'), ('VBN', 'CD'), ('NNS', 'CD'), ('CD', 'NNS'), ('DT', 'TO'), ('RB', 'NN'), ('PRP', 'NN'), ('CC', 'NN'), ('VB', 'RP'), ('DT', 'VBZ'), ('VBZ', 'TO'), ('EX', 'VBZ')]"""
>>> ast.literal_eval(s)
[('WRB', 'PRP$'), ('PRP', 'VBD'), ('NN', 'CD'), ('VBD', 'PRP$'), ('VBD', 'JJ'), ('VBN', 'RB'), ('PRP$', 'NN'), ('NNS', 'TO'), ('NNS', 'JJ'), ('IN', 'EX'), ('IN', 'CD'), ('VBP', 'RB'), ('RB', 'NNS'), ('NNS', 'VBP'), ('JJ', 'IN'), ('NN', 'CC'), ('VBG', 'CC'), ('DT', 'IN'), ('VBP', 'WRB'), ('VBG', 'TO'), ('VBP', 'PRP$'), ('NN', 'JJ'), ('VBG', 'PRP'), ('JJ', 'NNS'), ('PRP', 'VBP'), ('NN', 'VBG'), ('VBD', 'PRP'), ('PRP', 'DT'), ('CC', 'VBD'), ('JJ', 'JJ'), ('JJS', 'NN'), ('IN', 'PRP$'), ('NNS', 'CC'), ('DT', 'NN'), ('CC', 'WRB'), ('VBN', 'JJ'), ('PRP', 'VBZ'), ('VBN', 'VB'), ('PRP', 'PRP'), ('JJ', 'VBN'), ('IN', 'TO'), ('WP', 'NNS'), ('VB', 'CC'), ('VBP', 'DT'), ('VBN', 'DT'), ('PRP', 'CC'), ('NNS', 'JJ'), ('JJ', 'WRB'), ('CD', 'NN'), ('RB', 'VB'), ('TO', 'RB'), ('WDT', 'NN'), ('VBP', 'JJ'), ('IN', 'NN'), ('WP', 'NN'), ('VBD', 'JJ'), ('PRP$', 'DT'), ('VBZ', 'DT'), ('VBG', 'NNS'), ('CD', 'IN'), ('VBZ', 'RBR'), ('CC', 'JJ'), ('WDT', 'MD'), ('VBN', 'EX'), ('RB', 'VBP'), ('JJS', 'IN'), ('IN', 'EX'), ('NN', 'IN'), ('CD', 'DT'), ('DT', 'VBD'), ('VBP', 'IN'), ('RB', 'MD'), ('VBN', 'PRP'), ('JJ', 'CC'), ('CD', 'PRP'), ('NN', 'JJ'), ('NN', 'NN'), ('WDT', 'PRP'), ('VBP', 'VBG'), ('RB', 'TO'), ('VBZ', 'NN'), ('VBD', 'RP'), ('VBN', 'VBG'), ('WP', 'PRP'), ('NN', 'MD'), ('VBP', 'VBN'), ('VBG', 'PRP$'), ('DT', 'VBN'), ('NN', 'VB'), ('VBZ', 'IN'), ('DT', 'CD'), ('DT', 'RBR'), ('VB', 'NN'), ('MD', 'RB'), ('TO', 'NNS'), ('VBD', 'DT'), ('RP', 'DT'), ('JJR', 'IN'), ('PRP', 'MD'), ('DT', 'JJ'), ('PRP', 'VB'), ('NN', 'EX'), ('VBN', 'NN'), ('PRP$', 'JJ'), ('NN', 'WP'), ('CC', 'CD'), ('NN', 'JJR'), ('JJS', 'NNS'), ('CD', 'VBG'), ('RP', 'PRP$'), ('DT', 'VBP'), ('NNS', 'NN'), ('EX', 'VBP'), ('JJS', 'PRP'), ('RBR', 'JJ'), ('RB', 'VBZ'), ('VBD', 'VBN'), ('JJ', 'WP'), ('WRB', 'NN'), ('VBZ', 'RP'), ('VBD', 'NN'), ('VBN', 'CD'), ('NNS', 'CD'), ('CD', 'NNS'), ('DT', 'TO'), ('RB', 'NN'), ('PRP', 'NN'), ('CC', 'NN'), ('VB', 'RP'), ('DT', 'VBZ'), ('VBZ', 'TO'), ('EX', 'VBZ')]

来自docs

  

安全地评估表达式节点或Unicode或Latin-1编码   包含Python表达式的字符串。提供的字符串或节点可以   只包含以下Python文字结构:字符串,   数字,元组,列表,dicts,布尔值和无。

     

这可以用于安全地评估包含Python的字符串   来自不受信任来源的表达式,无需解析   重视自己。

答案 1 :(得分:0)

您的意思是展平输入列表吗?

lst = [('WRB', 'PRP$'), ('PRP', 'VBD'), ('NN', 'CD'), ('VBD', 'PRP$'), ('VBD', 'JJ'), ('VBN', 'RB'), ('PRP$', 'NN'), ('NNS', 'TO'), ('NNS', 'JJ'), ('IN', 'EX'), ('IN', 'CD'), ('VBP', 'RB'), ('RB', 'NNS'), ('NNS', 'VBP'), ('JJ', 'IN'), ('NN', 'CC'), ('VBG', 'CC'), ('DT', 'IN'), ('VBP', 'WRB'), ('VBG', 'TO'), ('VBP', 'PRP$'), ('NN', 'JJ'), ('VBG', 'PRP'), ('JJ', 'NNS'), ('PRP', 'VBP'), ('NN', 'VBG'), ('VBD', 'PRP'), ('PRP', 'DT'), ('CC', 'VBD'), ('JJ', 'JJ'), ('JJS', 'NN'), ('IN', 'PRP$'), ('NNS', 'CC'), ('DT', 'NN'), ('CC', 'WRB'), ('VBN', 'JJ'), ('PRP', 'VBZ'), ('VBN', 'VB'), ('PRP', 'PRP'), ('JJ', 'VBN'), ('IN', 'TO'), ('WP', 'NNS'), ('VB', 'CC'), ('VBP', 'DT'), ('VBN', 'DT'), ('PRP', 'CC'), ('NNS', 'JJ'), ('JJ', 'WRB'), ('CD', 'NN'), ('RB', 'VB'), ('TO', 'RB'), ('WDT', 'NN'), ('VBP', 'JJ'), ('IN', 'NN'), ('WP', 'NN'), ('VBD', 'JJ'), ('PRP$', 'DT'), ('VBZ', 'DT'), ('VBG', 'NNS'), ('CD', 'IN'), ('VBZ', 'RBR'), ('CC', 'JJ'), ('WDT', 'MD'), ('VBN', 'EX'), ('RB', 'VBP'), ('JJS', 'IN'), ('IN', 'EX'), ('NN', 'IN'), ('CD', 'DT'), ('DT', 'VBD'), ('VBP', 'IN'), ('RB', 'MD'), ('VBN', 'PRP'), ('JJ', 'CC'), ('CD', 'PRP'), ('NN', 'JJ'), ('NN', 'NN'), ('WDT', 'PRP'), ('VBP', 'VBG'), ('RB', 'TO'), ('VBZ', 'NN'), ('VBD', 'RP'), ('VBN', 'VBG'), ('WP', 'PRP'), ('NN', 'MD'), ('VBP', 'VBN'), ('VBG', 'PRP$'), ('DT', 'VBN'), ('NN', 'VB'), ('VBZ', 'IN'), ('DT', 'CD'), ('DT', 'RBR'), ('VB', 'NN'), ('MD', 'RB'), ('TO', 'NNS'), ('VBD', 'DT'), ('RP', 'DT'), ('JJR', 'IN'), ('PRP', 'MD'), ('DT', 'JJ'), ('PRP', 'VB'), ('NN', 'EX'), ('VBN', 'NN'), ('PRP$', 'JJ'), ('NN', 'WP'), ('CC', 'CD'), ('NN', 'JJR'), ('JJS', 'NNS'), ('CD', 'VBG'), ('RP', 'PRP$'), ('DT', 'VBP'), ('NNS', 'NN'), ('EX', 'VBP'), ('JJS', 'PRP'), ('RBR', 'JJ'), ('RB', 'VBZ'), ('VBD', 'VBN'), ('JJ', 'WP'), ('WRB', 'NN'), ('VBZ', 'RP'), ('VBD', 'NN'), ('VBN', 'CD'), ('NNS', 'CD'), ('CD', 'NNS'), ('DT', 'TO'), ('RB', 'NN'), ('PRP', 'NN'), ('CC', 'NN'), ('VB', 'RP'), ('DT', 'VBZ'), ('VBZ', 'TO'), ('EX', 'VBZ')]
output = [token for item in lst for token in item]
print output

输出:

['WRB', 'PRP$', 'PRP', 'VBD', 'NN', 'CD', 'VBD', 'PRP$', 'VBD', 'JJ', 'VBN', 'RB', 'PRP$', 'NN', 'NNS', 'TO', 'NNS', 'JJ', 'IN', 'EX', 'IN', 'CD', 'VBP', 'RB', 'RB', 'NNS', 'NNS', 'VBP', 'JJ', 'IN', 'NN', 'CC', 'VBG', 'CC', 'DT', 'IN', 'VBP', 'WRB', 'VBG', 'TO', 'VBP', 'PRP$', 'NN', 'JJ', 'VBG', 'PRP', 'JJ', 'NNS', 'PRP', 'VBP', 'NN', 'VBG', 'VBD', 'PRP', 'PRP', 'DT', 'CC', 'VBD', 'JJ', 'JJ', 'JJS', 'NN', 'IN', 'PRP$', 'NNS', 'CC', 'DT', 'NN', 'CC', 'WRB', 'VBN', 'JJ', 'PRP', 'VBZ', 'VBN', 'VB', 'PRP', 'PRP', 'JJ', 'VBN', 'IN', 'TO', 'WP', 'NNS', 'VB', 'CC', 'VBP', 'DT', 'VBN', 'DT', 'PRP', 'CC', 'NNS', 'JJ', 'JJ', 'WRB', 'CD', 'NN', 'RB', 'VB', 'TO', 'RB', 'WDT', 'NN', 'VBP', 'JJ', 'IN', 'NN', 'WP', 'NN', 'VBD', 'JJ', 'PRP$', 'DT', 'VBZ', 'DT', 'VBG', 'NNS', 'CD', 'IN', 'VBZ', 'RBR', 'CC', 'JJ', 'WDT', 'MD', 'VBN', 'EX', 'RB', 'VBP', 'JJS', 'IN', 'IN', 'EX', 'NN', 'IN', 'CD', 'DT', 'DT', 'VBD', 'VBP', 'IN', 'RB', 'MD', 'VBN', 'PRP', 'JJ', 'CC', 'CD', 'PRP', 'NN', 'JJ', 'NN', 'NN', 'WDT', 'PRP', 'VBP', 'VBG', 'RB', 'TO', 'VBZ', 'NN', 'VBD', 'RP', 'VBN', 'VBG', 'WP', 'PRP', 'NN', 'MD', 'VBP', 'VBN', 'VBG', 'PRP$', 'DT', 'VBN', 'NN', 'VB', 'VBZ', 'IN', 'DT', 'CD', 'DT', 'RBR', 'VB', 'NN', 'MD', 'RB', 'TO', 'NNS', 'VBD', 'DT', 'RP', 'DT', 'JJR', 'IN', 'PRP', 'MD', 'DT', 'JJ', 'PRP', 'VB', 'NN', 'EX', 'VBN', 'NN', 'PRP$', 'JJ', 'NN', 'WP', 'CC', 'CD', 'NN', 'JJR', 'JJS', 'NNS', 'CD', 'VBG', 'RP', 'PRP$', 'DT', 'VBP', 'NNS', 'NN', 'EX', 'VBP', 'JJS', 'PRP', 'RBR', 'JJ', 'RB', 'VBZ', 'VBD', 'VBN', 'JJ', 'WP', 'WRB', 'NN', 'VBZ', 'RP', 'VBD', 'NN', 'VBN', 'CD', 'NNS', 'CD', 'CD', 'NNS', 'DT', 'TO', 'RB', 'NN', 'PRP', 'NN', 'CC', 'NN', 'VB', 'RP', 'DT', 'VBZ', 'VBZ', 'TO', 'EX', 'VBZ']