ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python基础|序列数据模型

2022-02-27 19:35:24  阅读:169  来源: 互联网

标签:set letters python 元素 print key 序列 数据模型 字典


最重要的四种序列数据类型: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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有