列表转换/转换

时间:2014-06-16 11:44:01

标签: python list

将list_1转换为list_2的任何方式?:

list_1 = [('h', 'e', 'l', 'l', 'o'), ('w', 'o', 'r', 'd')]

list_2 = ['hello', 'word']

2 个答案:

答案 0 :(得分:5)

list_2 = [''.join(word) for word in list_1]

答案 1 :(得分:3)

这是数据。

data = [('h', 'e', 'l', 'l', 'o'), ('w', 'o', 'r', 'd')]

让我们从基础开始。我们只是尝试在一个元组上工作。以下循环将打印出元组中的每个字符串。

element = ('h', 'e', 'l', 'l', 'o')
for character in element:
    print(character)

查看输出,我们可以看到创建组合字符串的简单方法。只需在开头声明一个空字符串,然后将所有字符添加到其中。

word = ''
for character in element:
    word = word + character
print(word)

结果看起来不错,但还有更好的方法。字符串有join方法,我们可以在这里使用。

print(''.join(element))

您得到的结果与之前的循环相同:'hello'

现在我们必须扩展代码以使用数据中的所有元组。只需在外面添加另一个循环。

for element in data:
    print(''.join(element))

要创建新列表,我们使用之前构建字符串时使用的模式。我们在循环之前创建一个空列表,并将join的结果添加到它。

result = []
for element in data:
    result.append(''.join(element))
print(result)

这样的代码需要list comprehension

result = [''.join(element) for element in data]
print(result)

就是这样。