元组
1、元组的定义
元组可以定义为:元素不可变的列表。
请看下列代码:
myList = [1, 2, 3]
myTuple = (1, 2, 3)
注意:列表的元素是用方括号“[]”括起来的,而元组用的是圆括号"()"
我们无法修改元组中具体元素的值,
myTuple = (1, 2, 3)
myTuple[1] = 9
print(myTuple)
这样的代码会报错,如下:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
1 myTuple = (1, 2, 3)
----> 2 myTuple[1] = 9
3 print(myTuple)
TypeError: 'tuple' object does not support item assignment
错误原因是:元组对象并不支持元素赋值。但是我们却可以对整个元组对象赋值,元素类型或者元组长度不同时也是可以的。
myTuple = (1, 2, 3)
print("原始元组是:", myTuple)
myTuple = (0.5, 8, 51, 6)
print(myTuple)
myTuple = ("python", 0.001, 72)
print(myTuple)
运行结果是
原始元组是: (1, 2, 3)
(0.5, 8, 51, 6)
('python', 0.001, 72)
像列表一样,元组也能使用for循环进行遍历,元组也能嵌套。
2、元组和列表的转换
list()方法可以将元组转变成列表,tuple()方法可以将列表转变成元组。
字典
1、字典的创建
字典由一系列的“键——值对”构成,每个键都与一个值相关联。创建一个字典有两种方法:一是直接写出所有的键值对,二是先创建空字典,再添加键值对。
# 第一种方式
student = {'math': 95, 'physics': 82, 'chemistry': 96}
print(student)
# 第二种方式
student = {}
student['math'] = 95
student['physics'] = 82
student['chemistry'] = 96
print(student)
输出:
{'math': 95, 'physics': 82, 'chemistry': 96}
{'math': 95, 'physics': 82, 'chemistry': 96}
既然能添加键值对,当然也能删除键值对,使用del语句就能实现。
del student['chemistry']
print(student)
输出:
{'math': 95, 'physics': 82}
2、访问并修改字典中的值
可以使用键来访问字典中的值,同时也能修改它。
student = {'math': 95, 'physics': 82, 'chemistry': 96}
print(student['physics'])
student['physics'] = 80
print(student)
输出:
82
{'math': 95, 'physics': 80, 'chemistry': 96}
3、遍历字典
使用items()方法可以轻松获得字典的键和值,我们便可以用它来遍历整个字典。
student = {'math': 95, 'physics': 82, 'chemistry': 96, 'biology': 90}
for key, value in student.items():
print("Key:", key)
print("Value:", value)
输出:
Key: math
Value: 95
Key: physics
Value: 82
Key: chemistry
Value: 96
Key: biology
Value: 90
使用keys()返回键列表,使用values()返回值列表。
for subject in student.keys():
print("subject:", subject)
for score in student.values():
print("score:", score)
输出:
subject: math
subject: physics
subject: chemistry
subject: biology
score: 95
score: 82
score: 96
score: 90
4、字典的嵌套
字典的嵌套有3种:字典嵌套在列表中、列表嵌套在字典中、字典嵌套在字典中。
4.1、字典嵌套在列表中
user_0 = {"name": "Tom", "age": 20}
user_1 = {"name": "Miller", "age": 26}
user_2 = {"name": "Amy", "age": 18}
users = [user_0, user_1, user_2]
for user in users:
print(user)
列表users中的每一个元素都是一个字典类型,里面存储了用户的姓名和年龄。
输出为:
{'name': 'Tom', 'age': 20}
{'name': 'Miller', 'age': 26}
{'name': 'Amy', 'age': 18}
4.2、列表嵌套在字典中
country_and_company = {
'China': ['Tencent', 'Xiaomi', 'Huawei'],
'US': ['Google', 'Microsoft', 'Apple']
}
for country, companies in country_and_company.items():
print("\n", country+"'s companies are:", end="")
for company in companies:
print(" "+company+",", end="")
输出:
China's companies are: Tencent, Xiaomi, Huawei,
US's companies are: Google, Microsoft, Apple,
4.3、字典嵌套在字典中
users = {
'user_0':{'name':'Tom', 'age':20, 'country':'US'},
'user_1':{'name':'Amy', 'age':18, 'country':'UK'}
}
for user, user_info in users.items():
print(user+":")
print("name: "+user_info['name']+" age: "+str(user_info['age'])+" country: "+user_info['country'])
输出:
user_0:
name: Tom age: 20 country: US
user_1:
name: Amy age: 18 country: UK
转载请注明出处