题解 | #牛客的伙伴们#
牛客的伙伴们
https://www.nowcoder.com/practice/a41ea5591c40479dbf90d3329a03fb62
知识点
zip函数
zip(iterable1, iterable2, ...)
iterable1,iterable2, ...:要打包的可迭代对象,可以是列表、元组、字符串等。
以下是一个简单的示例,演示了如何使用 zip() 函数:
names = ["Alice", "Bob", "Charlie"]
scores = [90, 85, 88]
zipped_data = zip(names, scores)
for item in zipped_data:
print(item)
输出:
('Alice', 90)
('Bob', 85)
('Charlie', 88)
在这个示例中,zip() 函数将 names 列表和 scores 列表中的元素按照相同的索引位置组合成了元组,然后通过迭代器进行遍历。你可以看到每个元组中包含了一个名字和对应的分数。
需要注意的是,如果传递给 zip() 的可迭代对象长度不一致,那么 zip() 函数会在最短的可迭代对象用完后停止。例如:
names = ["Alice", "Bob", "Charlie"]
scores = [90, 85]
zipped_data = zip(names, scores)
for item in zipped_data:
print(item)
输出:
('Alice', 90)
('Bob', 85)
在这个示例中,scores 列表中的 "Charlie" 没有对应的分数,所以在组合时停止。这个行为使得 zip() 在处理不等长的可迭代对象时非常有用。
如果需要将打包后的数据转换为其他数据结构,如列表,可以使用 list() 函数来实现:
zipped_data = zip(names, scores)
zipped_list = list(zipped_data)
print(zipped_list)
输出:
[('Alice', 90), ('Bob', 85)]
zip() 函数在处理数据的时候非常方便,特别是在需要将多个相关的数据集合合并在一起时。
完整代码
list1 = ['NiuMei', 'NiuKele', 'NiuNeng']
list2 = [3, 4, 5, 8]
print(list(zip(list1, list2)))
查看9道真题和解析