python基础|序列数据模型
作者:互联网
最重要的四种序列数据类型:List, Tuple, Dictionary, Set
列表List
- 创建一个列表,只要用逗号分隔的不同的数据,然后使用方括号括起来即可:
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
list = list(('a', 'b', 'c'))
print(len(letters))
# len()可以查看列表的长度
- 读取其中元素:
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
print(letters[2:5])
"""
['c','d','e']
"""
- 元素更新:
letters[-2] = 2019
print(letters[-2])
#将倒数第二个变成2019
- 列表的增加和删除:
list = ['apple']
list.insert(1, 'orange') # 列表的增加
list.remove('apple') # 列表的删除
list2 = list.copy() # 列表的复制
print(list2)
list = [1, 2, 3, 4, 5] # 删除列表的某一个元素
del list[2]
print(list)
列表的运算:
list1, list2 = [1, 2, 3], [4, 5, 6]
print(list1 + list2) # [1, 2, 3, 4, 5, 6] 注意不是数字加和
print(list1 * 3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
其他:
letters = ['a', 'g', 'f', 'b', 'c', 'd', 'e']
sorted(letters) #
letters.sort() # The list is sorted permently
print(letters)
letters.reverse() #倒放列表
print(letters)
元组Tuple
Tuple类型和列表类型一样,也是一种序列集合,与列表不同的是,元祖内的数据一旦创建,就不可修改了。
- 元祖的创建很简单,只需要在括号中添加元素,并使用逗号隔开即可:
dimensions = (200, 50)
dimensions[0] = 250 # error 元组不支持修改
- 虽然不能修改Tuple,但是你可以添加另外赋值:
dimensions = (200, 50)
dimensions = (400, 10) # works fine 也就是 重新定义
- 遍历tuple
for dimension in dimensions:
print(dimension)
- Tuple中的元素是不允许被删除的,但我们可可以使用del语句来删除整个Tuple:
tup = ('Google', 'Facebook', 'Amazon')
del tup
print(tup) # Error 删除了整个Tuple,所以打印不出来了
- 有用的内置函数:
numbers = (5, 9, 11)
print(len(numbers)) # 3 知道长度
print(min(numbers)) # 5 最小值
print(max(numbers)) # 11 最大值
字典 Dictionary
字典是一种键值对应的集合,每个关键值都有对应的数据。
字典中的每个键值(key => value)都用冒号(:)分割,每对之间用逗号(,)隔开,整个字典包含在花括号中({}),格式如下:
dict = {key1: value1, key2: value2, key3: value3}
student1 = {'gender': 'male', 'age': 18}
print(student1['gender'])
print(student1['age'])
student1[0] = 'female' # 注意这里不会改变键‘gender’的值,而是创建了一个新的键值
print(student1)
"""
male
18
{'gender': 'male', 'age': 18, 0: 'female'}
"""
- 添加新的键值key-value:
student1['grade'] = 250
student1['name'] = 'Enoch'
# 直接命名
- 删除
del student1['name'] # 删除元素
student1.clear() # 清空字典
del student1 # 删除字典
- 遍历字典
# Looping through all key-value pairs
user = {
'username': 'Alex',
'first': 'dada',
'last': 'wang',
}
for key, value in user.items(): # 需要key和value去触及键值,加上.items()函数
print(f"\nKey: {key}") # 分别打印键值
print(f"Value: {value}")
# 将字典里面的key都找出来
for key in user.keys(): # 使用内置函数 keys()
print(key + ": " + user.get(key)) # get()函数 获取value
"""
username: Alex
first: dada
last: wang
"""
# Looping through a dictionary's keys in a pariticular order
for key in sorted(user.keys()): # sorted()函数排序
print(key)
# Looping through all values in a dictionary
for value in user.values():
print(value.title()) # title()函数是首字母大写
- 嵌套 Nesting:(待定)
# A List in a Dictionary
pizza = {
'crust': 'thick',
'toppings': ['mushrooms', 'extra cheese'],
} # 披萨的字典
print(f"You ordered a {pizza['crust']}-crust pizza"
"with the following toppings:")
for topping in pizza['toppings']:
print("\t" + topping) #\t是制表符
# 字典里再加一个字典
users = {
'Enoch': {
'full_name': 'Xiao Wang',
'age': 25,
},
'Fandy': {
'full_name': 'Wang Hong',
'age': 25,
}
}
for name, information in users.items():
print(f"{name}: {information['full_name']} is {information['age']} years old.")
集合 Set
集合是一个无序的不重复元素序列。可以使用大括号({})或者set()函数来创建集合
注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典的。
- 两个集合运算:jie
a = set('abcdr')
b = set('aclzm')
print(a - b) # 集合a中包含而集合b中不包含的元素
print(a | b) # 集合a或b中都包含的元素
print(a & b) # 集合a和b中都包含的元素
print(a ^ b) # 不同时包含于a和b的元素
- 集合里添加元素:
companies = set(("Google", "Facebook", "Amazon"))
companies.add("Uber")
# 添加元素可以使用add(x)函数, 将x添加到集合中,如果元素存在,则不进行任何操作:
print(companies)
new_set = set(("Google", "Facebook", "Amazon"))
new_set.update({1, 3}) # 函数update()也可以用来添加元素,且参数可以是列表、元祖、字典等
print(new_set)
new_set.update([1, 4], [5, 6])
print(new_set)
"""
{1, 'Facebook', 3, 'Google', 'Amazon'}
{1, 'Facebook', 3, 'Google', 4, 5, 6, 'Amazon'}
"""
- 集合里删除元素:
移除元素有两个函数,一个是remove(x),如果元素x不存在,则会发生错误。
另一个是discard()函数,如果元素不存在,不会发生错误:
new_set = set(("Google", "Facebook", "Amazon"))
new_set.remove("Taobao") # 会报错
new_set.discard("Google") # 没有该元素也不会报错
print(new_set)
标签:set,letters,python,元素,print,key,序列,数据模型,字典 来源: https://blog.csdn.net/peachcooool/article/details/123166387