python笔记---内置容器

时间:2019-03-22 00:28:29   收藏:0   阅读:159

python内置容器:列表、字典、集合、元组,都可以容纳数据。

 

1、列表

  相当于Java中的List集合,可以动态改变大小。区别是Java中类型必须是一样的,这里可以是不同类型的元素。

xs = [3, 1, 2]    # 创建一个List集合
print(xs, xs[2])  # Prints "[3, 1, 2] 2"
print(xs[-1])     # 倒数第一个
xs[2] = foo     # 下标为2的元素改为‘foo’字符串
print(xs)         # Prints "[3, 1, ‘foo‘]"
xs.append(bar)  # 追加一个新的元素
print(xs)         # Prints "[3, 1, ‘foo‘, ‘bar‘]"
x = xs.pop()      # 弹出最后一个元素,出栈操作,并返回出栈的元素。
print(x, xs)      # Prints "bar [3, 1, ‘foo‘]"

如果要访问循环体内每个元素的索引,请使用内置的 enumerate(枚举) 函数:

animals = [cat, dog, monkey]
for idx, animal in enumerate(animals):
    print(#%d: %s % (idx + 1, animal))
# Prints "#1: cat", "#2: dog", "#3: monkey

列表推导式

nums = [0, 1, 2, 3, 4]
squares = [x ** 2 for x in nums]   # nums中的每个元素的平方
print(squares)   # Prints [0, 1, 4, 9, 16]

# 还可以附加其他的条件
nums = [0, 1, 2, 3, 4] even_squares = [x ** 2 for x in nums if x % 2 == 0] print(even_squares) # Prints "[0, 4, 16]"

2、字典

字典存储(键,值)对,类似于Java中的Map

d = {cat: cute, dog: furry}  # 以冒号区分键和值,以逗号区分每队键值
print(d[cat])       # 根据键获取值
print(cat in d)     # 检查该键是否存在于该容器中。
d[fish] = wet     # 设置一对键值
print(d[fish])      # Prints "wet"
# print(d[‘monkey‘])  # KeyError: ‘monkey‘ not a key of d
print(d.get(monkey, N/A))  # Get an element with a default; prints "N/A"
print(d.get(fish, N/A))    # Get an element with a default; prints "wet"
del d[fish]         # 删除键为‘fish’的键值
print(d.get(fish, N/A)) # "fish" is no longer 

#
字典的遍历 d = {person: 2, cat: 4, spider: 8} for animal in d:    # 依次获取d中的键 legs = d[animal]  # 根据获取的键得到值 print(A %s has %d legs % (animal, legs))

# 同时访问键及其对应的值,请使用items方法: d = {person: 2, cat: 4, spider: 8} for animal, legs in d.items():    # 分别获取d中元素的键和值 print(A %s has %d legs % (animal, legs)) # Prints "A person has 2 legs", "A cat has 4 legs", "A spider has 8 legs"

3、集合(set)

集合和列表的区别:

1、列表是有序的,集合是无序的

2、列表是可以含有相同元素的,集合是不含有相同元素的

对于集合,加入相同的元素是无效的。

推导式:

from math import sqrt
nums = {int(sqrt(x)) for x in range(30)}  # 0--29 依次开方,向下取整
print(nums)

4、元组

元组是(不可变的)有序值列表。 元组在很多方面类似于列表; 其中一个最重要的区别是元组可以用作字典中的键和集合的元素,而列表则不能。

d = {(x, x + 1): x for x in range(10)}   # d是一个字典,元素为(0--9,1--10):0--9,该字典中的键是元组
t = (5, 6)        
print(type(t))    
print(d[t])      
print(d[(1, 2)]) 

 

原文:https://www.cnblogs.com/smartmsl/p/10575674.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!