Python教程

python基础|序列数据模型

本文主要是介绍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)

这篇关于python基础|序列数据模型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!