Python中的视图对象(View Objects)是一种基于原始集合类型(如列表、元组、字典等)创建的可迭代对象
▥Python
𝄐 0
python view(-1),python viewflow tutorial,python view_as,python viewer,python view可以用哪个函数替换其功能,pythonview函数
Python中的视图对象(View Objects)是一种基于原始集合类型(如列表、元组、字典等)创建的可迭代对象。它们可以用于对数据进行迭代、过滤和转换,以及在需要时生成新的视图对象。
Python提供了三种不同类型的视图对象:
1. 字典视图对象(Dictionary View Objects):由字典的键、值或键值对组成。
2. 集合视图对象(Set View Objects):由集合的元素组成。
3. 序列视图对象(Sequence View Objects):由序列的元素组成。
下面是每种视图对象的例子:
1. 字典视图对象
python
d = {'a': 1, 'b': 2, 'c': 3}
keys = d.keys() # 创建一个键的视图对象
values = d.values() # 创建一个值的视图对象
items = d.items() # 创建一个键值对的视图对象
print(keys) # dict_keys(['a', 'b', 'c'])
print(values) # dict_values([1, 2, 3])
print(items) # dict_items([('a', 1), ('b', 2), ('c', 3)])
# 遍历键的视图对象
for key in keys:
print(key)
# 修改字典后,键的视图对象也会相应地更新
d['d'] = 4
print(keys) # dict_keys(['a', 'b', 'c', 'd'])
# 过滤出值大于1的键值对
filtered_items = {k: v for k, v in items if v > 1}
print(filtered_items) # {'b': 2, 'c': 3}
2. 集合视图对象
python
s = {1, 2, 3, 4, 5}
even = {x for x in s if x % 2 == 0} # 创建一个只包含偶数的集合视图对象
odd = s - even # 创建一个只包含奇数的集合视图对象
print(even) # {2, 4}
print(odd) # {1, 3, 5}
# 遍历集合视图对象
for num in odd:
print(num)
# 修改原始集合后,集合视图对象也会相应地更新
s.add(6)
print(odd) # {1, 3, 5}
3. 序列视图对象
python
l = [1, 2, 3, 4, 5]
slice_ = l[1:4] # 创建一个切片序列视图对象,包含索引1到3的元素
print(slice_) # [2, 3, 4]
# 遍历序列视图对象
for num in slice_:
print(num)
# 修改原始列表后,序列视图对象也会相应地更新
l[2] = 6
print(slice_) # [2, 6, 4]
Python中的视图对象(View Objects)是一种基于原始集合类型(如列表、元组、字典等)创建的可迭代对象。它们可以用于对数据进行迭代、过滤和转换,以及在需要时生成新的视图对象。
Python提供了三种不同类型的视图对象:
1. 字典视图对象(Dictionary View Objects):由字典的键、值或键值对组成。
2. 集合视图对象(Set View Objects):由集合的元素组成。
3. 序列视图对象(Sequence View Objects):由序列的元素组成。
下面是每种视图对象的例子:
1. 字典视图对象
python
d = {'a': 1, 'b': 2, 'c': 3}
keys = d.keys() # 创建一个键的视图对象
values = d.values() # 创建一个值的视图对象
items = d.items() # 创建一个键值对的视图对象
print(keys) # dict_keys(['a', 'b', 'c'])
print(values) # dict_values([1, 2, 3])
print(items) # dict_items([('a', 1), ('b', 2), ('c', 3)])
# 遍历键的视图对象
for key in keys:
print(key)
# 修改字典后,键的视图对象也会相应地更新
d['d'] = 4
print(keys) # dict_keys(['a', 'b', 'c', 'd'])
# 过滤出值大于1的键值对
filtered_items = {k: v for k, v in items if v > 1}
print(filtered_items) # {'b': 2, 'c': 3}
2. 集合视图对象
python
s = {1, 2, 3, 4, 5}
even = {x for x in s if x % 2 == 0} # 创建一个只包含偶数的集合视图对象
odd = s - even # 创建一个只包含奇数的集合视图对象
print(even) # {2, 4}
print(odd) # {1, 3, 5}
# 遍历集合视图对象
for num in odd:
print(num)
# 修改原始集合后,集合视图对象也会相应地更新
s.add(6)
print(odd) # {1, 3, 5}
3. 序列视图对象
python
l = [1, 2, 3, 4, 5]
slice_ = l[1:4] # 创建一个切片序列视图对象,包含索引1到3的元素
print(slice_) # [2, 3, 4]
# 遍历序列视图对象
for num in slice_:
print(num)
# 修改原始列表后,序列视图对象也会相应地更新
l[2] = 6
print(slice_) # [2, 6, 4]
本文地址:
/show-276772.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。