2024-05-16 20:06:14 发布
网友
假设我有一个列表
A = [[1,1,1,1],[2,2,2,2]]
我想创建两个字符串
'1111' '2222'
在python中我们将如何做到这一点?你知道吗
也许list comprehension:
list comprehension
>>> A = [[1,1,1,1],[2,2,2,2]] >>> l=[''.join(map(str,i)) for i in A] >>> l ['1111', '2222'] >>>
现在你明白了。你知道吗
这很容易用join和列表理解来完成。你知道吗
A = [[1,1,1,1],[2,2,2,2]] a_strings = [''.join(map(str, sub_list)) for sublist in A]
请看,join()获取一个字符串列表,并生成一个连接所有子字符串的字符串,而我使用的列表理解只是循环遍历所有子字符串。上面我把两个结合在一起。你知道吗
join()
再想想
map()实际上被认为更efficient(当不使用lambda时。。等等)和一些更可读的。我将只添加一个使用map而不是理解的方法。你知道吗
map()
a_strings = map(''.join(), map(str, A))
这首先获取内部映射,并为每个子列表生成所有ints>;str,然后joins所有str。你知道吗
int
str
join
希望这能让你更容易咀嚼,每一种方法都是等价的,这样你就可以考虑它们的风格选择了。你知道吗
也许
list comprehension
:现在你明白了。你知道吗
这很容易用join和列表理解来完成。你知道吗
请看,
join()
获取一个字符串列表,并生成一个连接所有子字符串的字符串,而我使用的列表理解只是循环遍历所有子字符串。上面我把两个结合在一起。你知道吗再想想
map()
实际上被认为更efficient(当不使用lambda时。。等等)和一些更可读的。我将只添加一个使用map而不是理解的方法。你知道吗这首先获取内部映射,并为每个子列表生成所有
int
s>;str
,然后join
s所有str
。你知道吗希望这能让你更容易咀嚼,每一种方法都是等价的,这样你就可以考虑它们的风格选择了。你知道吗
相关问题 更多 >
编程相关推荐