我有一个列表列表,例如y = [[2, 4, 6, 7], [9, 0, 8, 12], [1, 11, 10, 5]]
我想将每个内部列表转换为以'/'分隔的字符串,并输出单个字符串的列表。如何在python中执行此操作?
答案 0 :(得分:0)
您可以在str.join的整数之后使用mapping来list comprehension中的字符串:
>>> y = [[2, 4, 6, 7], [9, 0, 8, 12], [1, 11, 10, 5]]
>>> formatted_y = ['/'.join(map(str, inner_list)) for inner_list in y]
>>> formatted_y
['2/4/6/7', '9/0/8/12', '1/11/10/5']
或者,如果您愿意,可以使用几个嵌套列表推导:
>>> formatted_y = ['/'.join(str(x) for x in inner_list) for inner_list in y]
>>> formatted_y
['2/4/6/7', '9/0/8/12', '1/11/10/5']
要返回原始版本,可以在列表压缩中使用str.split:
>>> original_y = [list(map(int, inner_str.split('/'))) for inner_str in formatted_y]
>>> original_y
[[2, 4, 6, 7], [9, 0, 8, 12], [1, 11, 10, 5]]
答案 1 :(得分:0)
y = [[2, 4, 6, 7], [9, 0, 8, 12], [1, 11, 10, 5]]
myNewList = []
for myList in y:
myMap = map(str,myList)
map (函数,可迭代)用于将函数(在这种情况下为“ str ”)应用于指定的可迭代(“ myList” ')。
myString = '/'.join(myMap)
join (可迭代)返回一个字符串,该字符串是可迭代字符串的串联。元素之间的分隔符是提供此方法的字符串。
myNewList.append(myString)
列表。附加(元素)将元素添加到列表的末尾。
print(myNewList)
['2/4/6/7','9/0/8/12','1/11/10/5']