分享

【Python之路】第三篇

 highoo 2019-03-20
str

4、列表

创建列表:

1
2
3
name_list = ['alex', 'seven', 'eric']
name_list = list(['alex', 'seven', 'eric'])

基本操作:

  • 索引
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#索引:
该方法返回查找对象的索引位置,如果没有找到对象则抛出异常
name_list.index('alex')
#追加:
# extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
c = ['aaaaa','bbbbb']
name_list.extend(c)
或者:
name_list.append('aaaa')
#删除:
del name_list[1]
#长度:
len(name_list)
#切片: (原来是什么类型,切片取出来的元素还是原来的类型!)
li = ['aaaa','bbbbb','ccccc']
print(li[0:2])
#['aaaa','bbbbb']
#循环:
for i in name_list:
    print(i)
#包含:
'alex' in name_list:
#关注:
name_list.clear()
name_list.extend()
name_list.reverse()
name_list.insert(1,"X")
list

5、元组

创建元组:

1
2
3
ages = (11, 22, 33, 44, 55)
ages = tuple((11, 22, 33, 44, 55))

基本操作:

  • 索引
  • 切片
  • 循环
  • 长度
  • 包含
1
2
3
4
5
6
7
8
9
10
11
元组  tuple
t = (11,22,33)
tuple("123123123") => ('1', '2', '3', '1', '2', '3', '1', '2', '3')
tuple([])
# 元组的特性,不可修改. 元素不可修改!
t = (11,22,["alex" , {"k1":"v1"}])
t[2].append("asdas")
#(11, 22, ['alex', {'k1': 'v1'}, 'asdas'])
tuple

元组与列表区别: 元祖里面的值不能修改!

6、字典(无序)

创建字典:

1
2
3
4
5
6
7
person = {"name": "mr.wu", 'age': 18}
person = dict({"name": "mr.wu", 'age': 18})
#列表转换成字典
li = [11,22,33]
new_dict = dict(enumerate(li,1))
#只能用enumerate!!!  单独用li 没有keys !

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#索引:
info_dict['name']
#新增: ( 原来没有则添加,有则修改! )
info_dict['new']='new'
info_dict.update({'new':'new'})
#删除:
del info_dict['new']
info_dict.pop('new')
#键:
info_dict.keys()
#值:
info_dict.values()
#键值对:
info_dict.items()
循环:
for k in info_dict.keys():
    print(k)
     
for v in info_dict.values():
    print(v)
for k,v in info_dict.items():
    print(k,v)
长度:
len(info_dict)
dict
formkeys

其他

1、for循环

用户按照顺序循环可迭代对象中的内容,

PS:break、continue

1
2
3
li = [11,22,33,44]
for item in li:
    print item

2、enumerate

为可迭代的对象添加序号

1
2
3
li = [11,22,33]
for k,v in enumerate(li, 1):
    print(k,v)

3、range和xrange

指定范围,生成指定的数字

1
2
3
4
5
6
7
8
print range(1, 10)
# 结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
  
print range(1, 10, 2)
# 结果:[1, 3, 5, 7, 9]
  
print range(30, 0, -2)
# 结果:[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]  

练习题

一、元素分类

有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

View Code

二、查找

查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。

    li = ["alec", " aric", "Alex", "Tony", "rain"]

    tu = ("alec", " aric", "Alex", "Tony", "rain") 

    dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}

View Code

三、输出商品列表,用户输入序号,显示用户选中的商品

    商品 li = ["手机", "电脑", '鼠标垫', '游艇']

View Code

四、购物车

功能要求:

  • 要求用户输入总资产,例如:2000

  • 显示商品列表,让用户根据序号选择商品,加入购物车

  • 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

  • 附加:可充值、某商品移除购物车

1
2
3
4
5
6
goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
]
View Code

五、用户交互,显示省市县三级联动的选择

1
2
3
4
5
6
7
8
9
10
11
12
13
dic = {
    "河北": {
        "石家庄": ["鹿泉", "藁城", "元氏"],
        "邯郸": ["永年", "涉县", "磁县"],
    }
    "河南": {
        ...
    }
    "山西": {
        ...
    }
  
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多