元组

一旦定义不能更改,使用()每个元素之间使用,隔开,就算这个元组里面只有一个元素也需要加逗号

空元组  t=()  / t=tuple()

特点:多个数据类型,可以查多个数据,有序存储,允许重复,不可修改,支持for/while循环

# 字面量
(1, 2, 3)
# 变量
t1 = (1, 2, 3)
# 空元组
t2 = ()
t3 = tuple()
# 一个元素的元组
t2 = (1,)
print(type(t2))
# 嵌套元组
t1 = ((1, 2, 3), (4, 5, 6))
print(t1[0][1])
# 操作
# 下标
t1 = (1, 3, 3, 5, 3, 2)
print(t1[1])
# 指定元素的下标
print(t1.index(3))
# 查看次数
print(t1.count(3))
# 查看元素个数
print(len(t1))
# 修改元组里面的list
t1 = (1, 3, 3, 5, 3, 2, False, True, [1, 2, 3])
print(t1[-1])
# 不能将list修改为新的list值
# t1[-1]=[1,3,4]
t1[-1].append(4)
print(t1)

"""
可以修改元组中列表的单个元素

不能修改元素中的整体修改操作

"""
# 操作
num = ("周杰伦", 11, ['football', 'music'])

print(num.index(11))

print(num[0])

num[-1].pop(0)
print(num)

num[-1].append("coding")
print(num)

print("-" * 20)

练习

# 11. 创建一个包含5个整数的元组,并打印出来。
#
nums = (1, 2, 3, 4, 5)
print(nums)
# 12. 计算元组的长度。
#
print(len(nums))
# 13. 从元组中提取第2到第4个元素。
#
print(nums[1:4:1])
# 14. 尝试修改元组中的一个元素(观察是否报错)。
# nums[0]=5  # 报错
# print(nums)
# 15. 合并两个元组。
nums2 = (7, 8, 9, 10, 11)
nums3=nums+nums2
print(nums3)
# 16. 找出元组中的最大值和最小值。
print(max(nums3))
print(min(nums3))
# 17. 创建一个嵌套元组并访问其中的元素。
nums=((1,2,3,4,5),(6,7,8,9,10))
print(nums[0][1])
print(nums[1][1])
# 18. 使用`count()`方法统计元组中某个元素的出现次数。
nums = (1, 2, 3, 4, 5,1,1,1,1,1)
print(nums.count(1))
# 19. 使用`index()`方法查找元组中某个元素的索引。
print(nums.index(2))

字符串

“ ”  ‘  ’   三引号

 只能存储字符,支持下标索引,但是不能能改,长度任意。允许重复支持for循环

# 字符串

str = "1234yayyyyyywshahaha"
# 下标索引
print(str[1])  # 2
# 统计
print(str.count("y"))  # 7
# 查找下标
print(str.index("y"))  # 4
# 查找子串的下标
print(str.index("hahaha"))  # 14
# 字符串替换
s = str.replace("y", "s")
print(str)  # 1234yayyyyyywshahaha
print(s)  # 1234sasssssswshahaha
# 分割
s = "a b c"
list = s.split()
print(list)  # ['a', 'b', 'c']
# 去除前后空格和换行符
s = " aavbbba   "
print(s)  #  avbbb
s = s.strip()
print(s)  # avbbb
# 去除前后指定字串
s = s.strip("a")
print(s)  # vbbb
# 统计字符串中有多少个对应的子串
s = "a b c a a a a"
num = s.count("a")
print(num)  # 5
# 统计字符串长度
s = "abcdwd你好#!"
num = len(s)
print(num)  # 10

s="itheima itcast boxugu"

print(s.count("it"))

s=s.replace(" ","|")
print(s)

s=s.split("|")
print(s)

练习:

# 31. 创建一个字符串并打印出来。
str="aBcdEfG"
print(str)
# 32. 计算字符串的长度。
print(len(str))
# 33. 将字符串转换为大写。
print(str.upper())
# 34. 将字符串转换为小写。
print(str.lower())

# 35. 检查字符串是否以某个字符开头。
str2="aBcdEfG"
num=input("输入字符")
if str2[0]==num:
    print(True)
else:
    print(False)

# 36. 检查字符串是否以某个字符结尾。
str2="aBcdEfG"
num=input("输入字符")
if str2[-1]==num:
    print(True)
else:
    print(False)
# 37. 替换字符串中的某个字符。
str2="aBcdEfG"
str2.replace("a","A")
print(str2)
# 38. 分割字符串为列表。
print(str2.split())
# 39. 检查字符串是否只包含字母。
for i in str2:
    num=ord(i)
    if 65<=num<=90 or 97<=num<=122:
        print("True")
    else:
        print("False")

集合

不支持元素重复,无序使用{}

空集合使用 s=set{}

# 集合
# 字面量
{1, 2, 3, 4, 5, "哈哈", 4, 5}
# 变量
a = {1, 2, 3, 4, 5, "哈哈", 4, 5}
print(a, type(a)) #{1, 2, 3, 4, 5, '哈哈'} <class 'set'>
# 空集合
b = set()
print(b, type(b)) # set() <class 'set'>
# 修改方法,不支持下标访问
# add 添加新元素
set1 = {"abc", "abe", 1, 2, 3, 4}
a.add("y")
a.add('a')
print(a) #{1, 2, 3, 4, 5, 'y', 'a', '哈哈'}
# remove 删除元素
a.remove("y")
print(a) #{1, 2, 3, 4, 5, 'a', '哈哈'}
# pop 随机抽取一个元素,得到一个元素的结果,原集合的元素被删除
print(a.pop()) #1
print(a) #{2, 3, 4, 5, 'a', '哈哈'}1
# 清空集合 clear
a.clear()
print(a) #set()
# 取集合的差值
set1={1, 2, 3}
set2={1,5,6}
set3=set1.difference(set2)
print(set3) #{2, 3}
# 消除两个集合的差值,在一中删除和二相同的元素,一会被修改
set1.difference_update(set2)
print(set1) #{2, 3}
# 两个集合合并为一个新的集合
set1={1, 2, 3}
set2={1,5,6}
set3=set1.union(set2)
print(set3) # {1, 2, 3, 5, 6}
# 长度
print(len(set3)) # 5

练习:

# 21. 创建一个包含5个整数的集合,并打印出来。
nums={1,2,3,4,5}
# 22. 计算集合的长度。
print(len(nums))
# 23. 向集合中添加一个元素。
nums.add(6)
print(nums)
# 24. 从集合中移除一个元素。
nums.remove(6)
print(nums)
print(nums.pop())
print(nums)
# 25. 合并两个集合。
nums1={1,2,3,4,5}
nums2={5,6,7,8,9}
nums3=nums1.union(nums2)
print(nums3)

# 26. 找出两个集合的交集。
print(nums1.intersection(nums2))
# 27. 找出两个集合的并集。
print(nums1.union(nums2))
# 28. 找出两个集合的差集。
print(nums1.difference(nums2))
# 29. 检查一个元素是否在集合中。
print(1 in nums1)
# 30. 清空集合。
nums1.clear()
print(nums1)

字典

使用的是键值对{}

{元素,元素,元素}

元素为:键:值

空字典  变量={}    变量=dict{}

字典没下标可以通过键来找对应的值

# 字典
# 定义字面量字典
var = {"y": 1, "x": 2, "z": 3}
# 字典变量
my_dict = {"y": 1, "x": 2, "z": 3}
print(my_dict, type(my_dict))  # {'y': 1, 'x': 2, 'z': 3} <class 'dict'>
# 定义空字典
my_dict = {}
my_dict2 = dict()
print(my_dict, type(my_dict))  # {} <class 'dict'>
print(my_dict2, type(my_dict2))  # {} <class 'dict'>
# 字典的key可以是任意单值类型,字符串或者数字
d4 = {
    "周杰伦": {
        "age": 11,
        "addr": "北京",
        "score": {
            "语文": 55,
            "数学": 44
        },
    },
    "周1伦": {
        "age": 11,
        "addr": "京"
    },
    "周1伦": {
        "age": 21,
        "addr": "京",
        "habby":["1","2","3","5"]
    }  # 后来的会把先来的覆盖掉,不允许重复
}
print(d4)
"""
{'周杰伦': {'age': 11, 'addr': '北京', 'score': {'语文': 55, '数学': 44}},
'周1伦': {'age': 21, 'addr': '京', 'habby': ['1', '2', '3', '5']}}
"""
print(d4["周1伦"])
# {'age': 21, 'addr': '京', 'habby': ['1', '2', '3', '5']}
print(d4["周杰伦"]["score"]["数学"]) # 44
print(d4["周1伦"]["habby"][2]) # 3

# 41. 创建一个包含3个键值对的字典,并打印出来。
sum={
    "name":"yws",
    "age":30,
    "job":"python",
}
print(sum)
# 42. 计算字典的长度。
print(len(sum))
# 43. 访问字典中的某个键对应的值。
print(sum["name"])
# 44. 向字典中添加一个键值对。
sum["appy"]="aiai"
print(sum)
# 45. 从字典中移除一个键值对。
sum.pop("age")
print(sum)
print("-"*30)
# 46. 遍历字典的所有键。
for key in sum:
    print(key)
print(sum.keys())
# 47. 遍历字典的所有值。
print(sum.values())
for key in sum:
    print(sum[key])
# 48. 遍历字典的所有键值对。
for key in sum:
    print(f"{key}:{sum[key]}")

更多推荐