自学python 5.
1.tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11, 22, 33)}, 44])
a.元组特性:不可改变列表,只读.
b.alex不可修改.
c.k2对应的值为列表,可以修改.
tu[1][2]["k2"].append("Seven")
print(tu)
d.元组,不可修改.
2.dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}
a.print(dic.keys())
b.print(dic.values())
c.for k,v in dic.items():
print(k,v)
d.dic.setdefault("k4","v4")
print(dic)
e.dic['k1'] = 'alex'
print(dic)
f.dic['k3'].append(44)
print(dic)
g.dic['k3'].insert(0,18)
print(dic)
3.av_catalog = {
"欧美":{
"www.youporn.com": ["很多免费的,世界最大的","质量一般"],
"www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
"x-art.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
},
"大陆":{
"1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
}
}
a.av_catalog['欧美']['www.youporn.com'].insert(1,'量很大')
b.av_catalog['欧美']['x-art.com'].pop()
c.av_catalog['欧美']['x-art.com'].append("金老板最喜欢这个")
d.av_catalog['日韩']["tokyo-hot"][1] = av_catalog['日韩']["tokyo-hot"][1].upper()
e.av_catalog['大陆']["1048"] = ["一天就封了"]
或者av_catalog['大陆'].setdefault('1048',["一天就封了"])
f.del av_catalog["欧美"]["letmedothistoyou.com"]
或者av_catalog["欧美"].pop("letmedothistoyou.com")
g.av_catalog["大陆"]["1024"][0] = av_catalog["大陆"]["1024"][0] + "可以爬下来"
4.有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....}
s = "k:1|k1:2|k2:3|k3:4"
lst = s.split("|")
dic = {}
for el in lst:
k,v = el.split(":")
dic[k] = int(v)
print(dic)
5.元素分类
li= [11,22,33,44,55,66,77,88,99,90],将大于 66 的值保存至字典的第一个key中,小于 66 的值保存至第二个key的值中。即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}
li= [11,22,33,44,55,66,77,88,99,90]
dic = {'k1':[],"k2":[]}
for a in li:
if a > 66:
dic['k1'].append(a)
elif a < 66:
dic["k2"].append(a)
else:
pass
print(dic)
或
li= [11,22,33,44,55,66,77,88,99,90]
dic = {}
for a in li:
if a > 66:
dic.setdefault('k1',[]).append(a)
elif a < 66:
dic.setdefault('k2',[]).append(a)
else:
pass
print(dic)
6.输出商品列表,用户输入序号,显示用户选中的商品
商品列表:
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}, ]
要求:
1:页面显示序号 + 商品名称 + 商品价格,如:
1 电脑 1999
2 鼠标 10
...
2:用户输入选择的商品序号,然后打印商品名称及商品价格.
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}, ]
for a in range(len(goods)):
good = goods[a]
print(a+1,good["name"],good["price"])
while 1:
b = input("请输入序号:")
if b.upper() == "Q":
break
c = int(b)-1
if c in range(4):
print(goods[c]["name"], goods[c]["price"])
break
else:
print("输入有误,重新输入:")
自学python 5.的更多相关文章
- 【转载】如何系统地自学 Python?
原文:如何系统地自学 Python? 作者:彭猫 本文由 知乎 彭猫 授权发布,版权所有归作者,转载请联系作者! 是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太 ...
- 420小时学习代码之后:如何教你免费自学Python
原文地址:learning-to-code-420-hours-later-how-to-teach-yourself-python-for-free 说明:有些网址需要FQ. 大约在1.5年前,我开 ...
- 你是如何自学 Python 的?
作为一名Python爱好者,我也想跟大家分享分享我自学Python的一些小经验.搬来你的小板凳,听听看吧.也许,你会很有收获,也许你也走上了自学Python的不归路.开讲啦~ 首先,你要有自信心,要明 ...
- 如何自学Python?
关于如何自学Python,我也是有话说的.来看看? Python具有丰富和强大的类库,常被称为胶水语言.而且语法简洁而清晰,功能强大且简单易学,因而得到了广泛应用和支持.它特别适合专家使用,也非常适 ...
- 自学Python之路
自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的搭建:Pycharm及python安装详细教程 1.3 ...
- 自学Python的经验之谈,学好Python的捷径
其实python非常适合初学者入门.相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易.自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西.配置开发环境也 ...
- 如何系统地自学 Python?
最近开始系统的学习Python,以及整理的一些资料.github记录着个人自学 Python 的过程,持续更新.欢迎大家一起来完善这个自学Python学习的项目,给后来者一个参考的学习过程.githu ...
- 自学Python Day1
Day1: 强制转换,打印类型.Python2(row input)=Python3 input input(Python2)不接受强制转换,输入和输出是一致的.加双引号是字符串,不加 ...
- 自学Python之路-Python核心编程
自学Python之路-Python核心编程 自学Python之路[第六回]:Python模块 6.1 自学Python6.1-模块简介 6.2 自学Python6.2-类.模块.包 ...
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
随机推荐
- 使用rt-thread中BSP-stm32 ENV构建工具报错
@2019-01-23 [小记] --路径问题 参照rtt官方<STM32 系列 BSP 制作教程> 构建项目时出现如下错误 error1:打开 menuconfig 出错 解决方法: 根 ...
- thinkphp5 如何监听sql?
第一步 在database配置文件中开启 // 是否需要进行SQL性能分析'sql_explain' => true, 第二步 在需要测试的sql前,使用以下demo Db::listen(fu ...
- poj 1144 (Tarjan求割点数量)
题目链接:http://poj.org/problem?id=1144 描述 一个电话线公司(简称TLC)正在建立一个新的电话线缆网络.他们连接了若干个地点分别从1到N编号.没有两个地点有相同的号码. ...
- java thread 线程40个问题汇总
http://www.codeceo.com/article/40-java-thread-problems.html 1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了, ...
- 纪中2018暑假培训day5提高b组改题记录
因为今天省选组也做a组,以为今天a组会很难,就做了做b组.t1和t3强行暴力,好在有t2保底.t1和正解就差一点,然而考试时死活想不起来...... 今天改题可以少改一道了!ovo 救救孩子吧!t1T ...
- SQL表的基本操作
1.创建表: create table 表名 ( [列名] [数据类型] [约束], [列名] [数据类型] [约束], ) 2.修改基本表: alert table[表名] [add 新列名 数据类 ...
- 【CF1154】题解
A 直接模拟即可. B 对数组中的值进行排序去重.发现若去重之后的数组中有大于 3 个数时无解,因为无法找到一个点到数轴上四个点的距离均相等.若去重之后的数组中只有三个值,则判断中间的值是否到两边的值 ...
- python之网络编程--锁、信号量、线程、队列
一.线程,可以发现顺序执行比开线程执行时间要短.原因是,一个进程中的多线程处理,由于存在GIL,并且GIL中只能存在一个线程,加上线程又存在切换的问题,所以时间耗得多.想要解决这个问题,是开几个进程, ...
- struts2 二: 参数封装
封装请求正文到对象中(非常重要) 1.静态参数封装 在struts.xml配置文件中,给动作类注入值.调用的是setter方法. struts.xml的编写: <action name=&quo ...
- Counted(内存管理机制)
class Counted { private: unsigned int count_; public: Counted() : count_() { } virtual ~Counted() { ...