Python基础——Session3 数据类型二

主要内容

1.元组
2.字典
3.字符串

一、元组
元组其实就是只读的列表,元组内的数据不可修改。元组的意义在于,它可以在映射(和集合的成员)中当做键使用,但是列表不可以。元组作为很多内建函数和方法的返回值存在
tup = (1,2,3,4)
print(tup[0:2]) #结果 (1, 2)
print(tup[1:2]) #结果 (2,)

tup2 = (1,[10,20,30],3,4)
print(tup2) #结果 (1, [10, 20, 30], 3, 4)

product_list = [
    ('name1',2000),
    ('name2',3000),
    ('name3',4000),
    ('name4',5000)
]

for i in enumerate(product_list,1):
    print(i)
'''
  enumerate(product_list)    enumerate(product_list,1)
    (0, ('name1', 2000))       (1, ('name1', 2000))
    (1, ('name2', 3000))       (2, ('name2', 3000))
    (2, ('name3', 4000))       (3, ('name3', 4000))
    (3, ('name4', 5000))       (4, ('name4', 5000))
'''
for i , v in enumerate(product_list,1):
    print(i,'>>>',v)
'''
1 >>> ('name1', 2000)
2 >>> ('name2', 3000)
3 >>> ('name3', 4000)
4 >>> ('name4', 5000)
'''
二、字典

字典是python中唯一的映射类型,使用键值对(key-value)的形式来存储数据的。字典是无序存储的,且 key必须是不可变类型的。列表是有序的对象集合。

dic1 = {"name":"Bosh","password":"1234","hobby":{"girl_name":"花花","weight":120}}

###dic1["age"] = 20
print(dic1) #结果 {'name': 'Bosh', 'password': '1234', 'hobby': {'girl_name': '花花', 'weight': 120}, 'age': 20}

result = dic1.setdefault("isMale","True") #键存在,不改动,返回字典中相应的键对应的值;键不存在,在字典中增加新的键值对,并返回相应的值
print(result) #结果 True
print(dic1) #结果 {'name': 'Bosh', 'password': '1234', 'hobby': {'girl_name': '花花', 'weight': 120}, 'age': 20, 'isMale': 'True'}

###print(dic1['name']) #print(dic1.get("name")) #结果 Bosh
print(dic1["hobby"]["girl_name"])#print(dic1["hobby"].get("girl_name")) #结果 花花
print(dic1.keys()) #结果 dict_keys(['name', 'password', 'hobby', 'age', 'isMale']),返回一个dict_items
print(list(dic1.keys())) #结果 ['name', 'password', 'hobby', 'age', 'isMale'],返回一个列表
print(dic1.values()) #结果 dict_values(['Bosh', '1234', {'girl_name': '花花', 'weight': 120}, 20, 'True'])
print(dic1.items()) #结果 dict_items([('name', 'Bosh'), ('password', '1234'), ('hobby', {'girl_name': '花花', 'weight': 120}), ('age', 20), ('isMale', 'True')])

###dic3 = {"name":"Bosh","age":20}
dic3["name"] = "Hello"
dic4 = {"age":50,"hobby":"football"}
dic3.update(dic4)
print(dic3) #结果 {'name': 'Hello', 'age': 50, 'hobby': 'football'}

###dic5 = {'name': 'Hello', 'age': 50, 'hobby': 'football'}
result = dic5.pop("age")
print("result",result,",dic5=",dic5) #结果 result 50 ,dic5= {'name': 'Hello', 'hobby': 'football'}
result2 = dic5.popitem() #随机删除一组键值对
del dic5["name"]
print(dic5) #结果 {'age': 50, 'hobby': 'football'}
dic5.clear()
print(dic5) #结果 {}

###其他
dic2 = dict((("name","Bosh22"),))
print(dic2) #结果 {'name': 'Bosh22'}
dic6 = dict.fromkeys(["name1","name2","name3"],"value")
print(dic6) #结果 {'name1': 'value', 'name2': 'value', 'name3': 'value'}
dic6 = dict.fromkeys(["name1","name2","name3"],["value1","value2"])
print(dic6) #结果 {'name1': ['value1', 'value2'], 'name2': ['value1', 'value2'], 'name3': ['value1', 'value2']}

###嵌套
dic7 ={
    "中国":{
        "内蒙古":["呼和浩特","鄂尔多斯","呼伦贝尔"],
        "黑龙江":{"哈尔滨":"双城",
                "齐齐哈尔":{"龙沙","建华","铁锋"},
                "牡丹江":{"东安","阳明","绥芬河"},
                "佳木斯":["前进","向阳","东风"]
               }
    },
    "America":{
        "Alaska","California","Florida","Ohio","Pennsylvania"
    },
    "Россия":{
        " Čelabinsk","Omsk","Krasnojarsk","Čelabinsk"
    }
}
print(dic7["中国"]["黑龙江"]["齐齐哈尔"]) #结果 {'龙沙', '建华', '铁锋'}

###遍历
dic8 = {'name': 'Hello', 'age': 50}
for i in dic8 :
    print(i,dic8[i])
for i,v in dic8.items():
    print(i,v)
三、字符串
字符串是以单引号或双引号括起来的任意文本。
#常用操作
print("Hello" * 2) #结果 HelloHello
print("HelloWorld"[2:5]) #结果 llo,类似于列表的切片操作
print("llo" in "Hello") #结果 True,判断字符串中是否包含指定的字符
user = "admin"
print("Hello %s" % user) #结果 格式字符串,结果是动态的
print("Hello" + "World" +"!!!") #拼接字符串,效率低
print(''.join(["Hello","World","??"])) #使用join拼接字符串

#常见方法
str1 = "Hello Python"
print(str1.capitalize()) #结果 Hello python,首字母大写
print(str1.center(20,"*"))#用相应字符使字符串居中
print(str1.count("o")) #统计字符出现的次数
print(str1.endswith("on"))#判断字符串是否以某个字符结束
print(str1.startswith("on"))#判断字符串是否以某个字符开始
str2 = "Hello Py\tthon"
print(str2.expandtabs(tabsize=8)) #结果 Hello Py        thon,根据\t来设定tabsize个空格
print(str1.find("o"))#查找某个字符在字符串中第一次出现的位置并将索引值返回,从0开始
str3 = "Hello Python {user} {sex} {age}"
print(str3.format(sex = "",age = 20,user = "admin"))#格式字符串,%s%d
print(str3.format_map({"age":50,"sex":"","user":"root"}))
print(str1.index("o"))#类似find,如果字符不在字符串中,index会报错,find不会报错
print("123.999".isdigit()) #结果 False,判断字符是否为数字型,为整数返回True
print(str1.lower())#字母全改为小写
print(str1.upper())#字母全改为大写
print(str1.swapcase())#字母大小写互换
print(str1.ljust(20,"*"))# Hello Python********
print("    Hello Python    ".strip())#默认去掉首尾空格
print("HHHHHHhelloWorldHHHHH".strip("H"))#helloWorld
print("Hello Python Python".replace("Python","World",1))#Hello World Python,替换
print("Hello Python Python".split(" ",1))#['Hello', 'Python Python'],以指定字符把字符串分割成列表


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值