二 python基础数据类型
1.列表
demo_list = ["Hello", 1, 2, 3, 4.0, 5.0, 6.0, True, False]
# 列表索引获取"Hello"
print(demo_list[0])
输出:
Hello
# 列表索引获取从右往左
print(demo_list[-1])
输出:
False
# 获取列表长度,然后获取最后一个元素
print(demo_list[len(demo_list) - 1])
输出:
False
# 列表切片
print(demo_list[1:4])
输出:
[1, 2, 3]
# 切片小技巧
print(demo_list[:7])
输出:
['Hello', 1, 2, 3, 4.0, 5.0, 6.0]
print(demo_list[7:])
输出:
[True, False]
# 列表判断某个元素是否在列表
print("Hello" in demo_list)
输出:
True
print("Hello" not in demo_list)
输出:
False
# 列表和字符串的可变性
a_list = [1, 2, 3] a_str = "Hello" a_list[0] = "one" print(a_list)
输出:
['one', 2, 3]
# a_str[0] = "h"
# TypeError: 'str' object does not support item assignment
列表是可变的,字符串是不可变的
# 如果要改变字符串只能重新赋值
a_str = "hello" print(a_str)
输出:
hello
# 字符串不可变实验
str_name1 = "my name is python" str_name2 = str_name1 str_name1 = "my name is java" print(str_name1) print(str_name2)
输出:
my name is java
my name is python
# 列表可变实验
list_a = [1, 2, 3] list_b = list_a list_a[0] = "one" print(list_a) print(list_b)
输出:
['one', 2, 3]
['one', 2, 3]
# 实用列表函数
# len() 查看列表元素个数
print(len(demo_list))
输出:
9
list_score = [99, 100, 88]
# 获取列表元素中的最大数
print(max(list_score))
输出:
100
# 获取列表元素中的最小值
print(min(list_score))
输出:88
# 列表默认从小到大排序
print(sorted(list_score))
输出:
[88, 99, 100]
# 列表倒序
print(sorted(list_score, reverse=True))
输出:
[100, 99, 88]
# 列表方法join():join函数通过空格连接列表中的元素
count = ["A", "B", "C"] print("...".join(count))
输出:
A...B...C
# 列表方法append(),向列表追加元素
list_name = ["jack", "tony"] list_name.append("miss chen") print(list_name)
输出:
['jack', 'tony', 'miss chen']
2.元组
# 元组
tuple = (1, 2) index1 = tuple[0] index2 = tuple[1] print(index1, index2)
输出:
1 2
# 元组解包
tuple = 1, 2, 3 x, y, z = tuple print(x, y, z)
输出:
1 2 3
# format应用
area = 1, 2, 3 length, width, height = area print("area = " + str(length) + "*" + str(width) + "*" + str(height))
输出:
area = 1*2*3
#使用format
print("area = {}*{}*{}".format(length, width, height))
输出:
area = 1*2*3
3.集合
# 集合和列表去重
name_list = ["jack", "xiaoming", "angle", "xiaoming"] set_data = set(name_list) print(set_data)
# 集合可以去掉重复的数据
输出:
{'xiaoming', 'jack', 'angle'}
# 查询某个元素是否在集合中
print("xiaowang" in set_data)
输出:
False
print("xiaoming" in set_data)
输出:
True
# 列表追加数据
name_list.append("xiaohong") print(name_list)
输出:
['jack', 'xiaoming', 'angle', 'xiaoming', 'xiaohong']
# 集合add()追加一个元素
number = {1, 2, 3, 4, 5} number.add(6) print(number
输出:
{1, 2, 3, 4, 5, 6}
# pop()弹出一个元素
number.pop() print(number)
输出:
{2, 3, 4, 5, 6}
4.字典
# 字典
name_info = {"name":"xiaoming", "age":18, "sex":"man"} print(name_info["name"])
输出:
xiaoming
# get()
print(name_info.get("Mar"))
输出:
None
print(name_info.get("sex"))
输出:
man
# 字典和恒等运算符
x = name_info.get("Mar") print(x is None)
输出:
True
print(x is not None)
输出:
False
print(x)
输出:
None
# 字典get()自定义返回值
print(name_info.get("Mar", "data is NULL"))
输出:
data is NULL
# “=”,“==”,“is”辨析
a = [1, 2, 3] b = a c = [1, 2, 3] print(a == c) print(a is b) print(a is c)
输出:
True
True
False
5.复合数据类型
name_info = {"xiaoming":{"name":"xiaoming", "sex":"man", "age":18}, "xiaohon":{"name":"xiaohon", "sex":"woman", "age":19}} print(name_info["xiaoming"]) age = name_info["xiaoming"]["age"] print(age)
输出:
{'name': 'xiaoming', 'sex': 'man', 'age': 18}
18