如何对包含 python 中 JSON 格式的列表表示的字符串进行排序
How can I sort a string that holds the representation of a list that follows JSON format in python
str1 = '["pwc","pok","Egyp", "$cur:USD", "ZAR"]'
我有上面的字符串,其中包含遵循 JSON 格式的列表的表示形式。我想按字母顺序和 return 列表对这些值进行排序。我是通过以下方式做到的:
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"]
谁能帮我解决这个问题。
澄清一下
- 没有“包含字符串值列表的字符串”
- have "一个字符串,其中包含 表示 的列表 JSON format
所以使用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 列表时才使用
str1 = '["pwc","pok","Egyp", "$cur:USD", "ZAR"]'
我有上面的字符串,其中包含遵循 JSON 格式的列表的表示形式。我想按字母顺序和 return 列表对这些值进行排序。我是通过以下方式做到的:
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"]
谁能帮我解决这个问题。
澄清一下
- 没有“包含字符串值列表的字符串”
- have "一个字符串,其中包含 表示 的列表 JSON format
所以使用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 列表时才使用