xieqingrui-python-day04

字典的crud

# key - value 的数据结构
# 不可变类型都可以作为键  string  tuple number
info = {'name': 'Bob', 'age': 19, 'addr': '沈阳市', 666: 111}
print(info)
print(type(info)) # <class 'dict'>
# 访问 通过key 访问value 字典本身是无序的
# 可自定义索引的列表
print(info['name'])
print(info['addr'])
# print(info['gender']) #keyerror
print(info.get('name', '真好听'))
print(info.get('gender')) #None
print(info.get('gender', 'male')) #None
# 修改
info['addr'] = '铁岭市'
print(info)
# 增加
info['gender'] = 'male'
print(info)
# 删除  通过键删除值
del info['addr']
print(info)
info.clear()
print(info) # {} 空字典   [] 空列表  tuple()

字典的常见操作

info = {'name': 'Bob', 'age': 19, 'addr': '沈阳市', 666: 111}
print(len(info))
# 字典的遍历
# 获取字典中所有的键
print(list(info.keys()))
# 获取字典中所有的值
print(list(info.values()))
# 获取字典中所有的键值
print(list(info.items()))

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

ls = [('name', 'Bob'), ('age', 19), ('addr', '沈阳市'), (666, 111)]
d = dict(ls)
print(d)
print(type(d))
# print(float("2323.3~"))

# 字典推导式
from random import randint
print([randint(30, 100) for _ in range(10)])

print({i: i for i in range(10)})
print({i: i+100 for i in range(10)})
print({str(i): i for i in range(10)})
import string

print({"Student{}".format(k): randint(30, 100)for k in string.ascii_uppercase[:7]})

stu_info = {}
for x in string.ascii_uppercase[:7]:
    stu_info[x] = randint(40, 100)
print(stu_info)
  • 字符串常用处理方法
name = 'Python/ Java/ C++  '

print(len(name))
# 字符一旦创建无法修
# 去除两端空格
name.strip()
print(len(name.strip()))
name = name.strip()
print(len(name))

# 字符串分割 默认按照空格进行分割
list_name = name.split()
print(list_name)
print(name.split('/'))
print(name.split('a'))

# 替换
print(name)
name = name.replace("/", "")
print(name)
name = name.replace("+", "-")
print(name)

# 列表变成字符串
ls = ['Python', 'Java', 'C++']

print(" ".join(ls))
print("/".join(ls))
print("-".join(ls))
print("_".join(ls))
print("%".join(ls))
print("".join(ls))

词频统计案例

text = "When  When you face the world alone, no one reaches out  When you face the world alone, no one reaches out   When you face the world alone, no one reaches out "
text = text.replace(",", "")
# 字符串变成列表
word_list = text.split()
print(word_list)

# {"When": 1, "you":3...}
counts = {}
# for word in word_list:
#     counts[word] = 0
# for word in word_list:
#     counts[word] = counts[word] + 1
for word in word_list:
    counts[word] = counts.get(word, 0) + 1

print(counts)


集合

# 集合 set   无序不重复
a = {"eric", 222, 3, 666, 666}
print(a)
print(type(a))
# print(a[0]) TypeError: 'set' object is not subscriptable
# 添加
a.add("eric")
a.add("james")
print(a)
# 弹出
print(a.pop())
print(a.pop())
print(a)

# 遍历
for x in a:
    print(x)
# 清空
a.clear()
print(a)  #  set() 空集合  tuple() 空元组 {}空字典

# 常见作用: 去重
from random import randint
ls = [randint(10, 20) for _  in range(10)]
print(ls)
print(set(ls))
print(list(set(ls)))
# 集合推导式
print({num for num in ls})
print({num:1 for num in ls})
print(list({num:1 for num in ls}.keys()))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值