如何对一个字符串进行排序,该字符串包含python中遵循JSON格式的列表表示


str1 = '["pwc","pok","Egyp", "$cur:USD", "ZAR"]'

我有上面的字符串,它保存了一个遵循JSON格式的列表的表示。我想按字母顺序对这些值进行排序,并返回一个列表。我以以下方式完成:

def Convert(string):
li = list(string.split(","))
return li

# Driver code    
str1 = '["pwc","pok","Egyp", "$cur:USD", "ZAR"]'
print('Before sort')
print(str1)
lst = Convert(str1.strip("[]"))
print(lst)
print('After sort')
lst.sort()
print(lst)

我得到的输出是[' "$cur:USD"', ' "ZAR"', '"Egyp"', '"pok"', '"pwc"']

但我希望它采用以下格式(基本上每个值之间没有单引号('((:

["$cur:USD","ZAR","Egyp","pok","pwc"]

有人能帮我吗。

澄清

  • 没有"包含字符串值列表的字符串">
  • 具有";一个字符串,用于保存遵循JSON格式的列表的表示

所以使用json加载它,从字符串表示到python对象

import json
str1 = '["pwc","pok","Egyp", "$cur:USD", "ZAR"]'
lst = sorted(json.loads(str1))
print(lst)  # ['$cur:USD', 'Egyp', 'ZAR', 'pok', 'pwc']
str1 = '["pwc","pok","Egyp", "$cur:USD", "ZAR"]'    
print(sorted(eval(str1)))

警告:仅当str1是可信输入并且您确信str1是有效的python列表时使用

相关内容

  • 没有找到相关文章