Python之字符串操作、字典、列表、集合、文件

字符串操作、字典、列表、集合、文件的基础知识。

# 字典转换为列表
#print(info.items() )

#info['stu1104']
# 设置一个值,如果存在则返回,否则插入
info.setdefault('nihao ':'baidu')
# 查找用的方法,如果不存在也不会报错的。
#print(info.get('stu1103'))

#有交叉就覆盖,没有交叉就创建一个新的
x ={
	'a ': '1',
	'b ': '2'	
}
info.update(x )

# fromkeys就是初始化一个列表
y = dict.fromkeys([1,2,3],'test')

#print('stu1103' in info) 

# 删除的操作
info.pop("stu1101")
info.popitem()


info = {
    'stu1101': "Wu",
    'stu1102': "Luola",
    'stu1103': "Maliya",
}

# 当数据量大时,此方法比较高效
for i in info:
    print(i,info[i])

	
for k,v in info.items():
    print(k,v)
	

 

# 三级菜单使用。
data = {
    '北京':{
        "昌平":{
            "沙河":["oldboy","test"],
            "天通苑":["链家","我爱我家"]
        },
        "朝阳":{
            "望京":["奔驰","陌陌"],
            "国贸":{"CICC","HP"},
            "东直门":{"Advent","飞信"},
        },
        "海淀":{},
    },
    '山东':{
        "德州":{},
        "青岛":{},
        "济南":{}
    },
    '广东':{
        "东莞":{},
        "常熟":{},
        "佛山":{},
    },
}
exit_flag = False

while not exit_flag:
    for i in data:
        print(i)
    choice = input("选择进入1>>:")
    if choice in data:
        while not exit_flag:
            for i2 in data[choice]:
                print("\t",i2)
            choice2 = input("选择进入2>>:")
            if choice2 in data[choice]:
                while not exit_flag:
                    for i3 in data[choice][choice2]:
                        print("\t\t", i3)
                    choice3 = input("选择进入3>>:")
                    if choice3 in data[choice][choice2]:
                        for i4 in data[choice][choice2][choice3]:
                            print("\t\t",i4)
                        choice4 = input("最后一层,按b返回>>:")
                        if choice4 == "b":
                            pass
                        elif choice4 == "q":
                            exit_flag = True
                    if choice3 == "b":
                        break
                    elif choice3 == "q":
                        exit_flag = True
            if choice2 == "b":
                break
            elif choice2 == "q":
                exit_flag = True
# 列表和元组都是有序的。
# 列表的增删改查
# 元组可以查
# 字符串不可以修改,知识产生新的内容代替了原来的String。

# 列表可以嵌套任何东西。
# 字典同样可以嵌套。

# Next:集合、文件、字符编码与转换。

# 集合作用:去除重复的元素。即元素存在于两个列表之中。

# 交集元素(去重)

# 集合:关系测试,两者之间的关系。

list_1 = [1,5,6,9,8,7]
list_1 = set(list_1)

list_2 = set([2,5,6,3,4,7,8])
print(list_1, type(list_1),list_2)

# 交集
list_1.intersection(list_2)
list_1 & list_2

# 并集
list_1.union(list_2)
list_1 | list_2

# 差集(两者相互)
list_1.difference(list_2)
list_2.difference(list_1)
list_1 - list_2
list_2 - list_1

# 子集(subset and upperset)
list_1.issubset(list_2)
list_1.issuperset(list_2)

# 对称差集
list_1.symmetric_difference(list_2)
list_1 ^ list_2

# 判断是否有交集
list_1.isdisjoint(list_2)

# 集合只有添加
list_1.add(001)
list_1.update([002,003,004])

# 删除
list_1.remove('001')

# 判断是否存在集合中
x in list_1
x not in list_1

# 随机删除,并返回
list_1.pop()

# 指定一个值,删除,没有此元素返回None,不会像remove一样报错。
list_1.discard()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值