本节内容:
1.字符串对应的操作
2.for后面也可以跟else语句,但是不可以跟elif 以及while后面跟else语句
3.标志位的处理
4.列表的操作
5.购物车程序的编写
一.字符串对应的操作
# 1 * 重复输出字符串
print('hello'*2)
# 2 [] ,[:] 通过索引获取字符串中字符,这里和列表的切片操作是相同的,具体内容见列表
print('helloworld'[2:])
# 3 in 成员运算符 - 如果字符串中包含给定的字符返回 True
print('el' in 'hello')
# 4 % 格式字符串
print('alex is a good teacher')
print('%s is a good teacher'%'alex')
# 5 + 字符串拼接
a='123'
b='abc'
c='789'
d1=a+b+c
print(d1)
# +效率低,该用join
d2=''.join([a,b,c])
print(d2)
二.for后面也可以跟else语句,但是不可以跟elif
While后面跟else语句:
三.标志位的处理
四.列表的操作
列表,元组
查
索引(下标) ,都是从0开始
切片
.count 查某个元素的出现次数
.index 根据内容找其对应的位置
"haidilao ge" in a
增加
a.append() 追加
a.insert(index, "内容")
a.extend 扩展,a列表发生了变化,谁调用extend列表本身发生了变化
c=a+b,a和b列表都没有发生变化,a+b获得一个新的列表
修改
a[index] = "新的值"
a[start:end] = [a,b,c]
删除
remove("内容")
pop(index)#指定索引值,不指定默认删除最后一个元素,pop是有返回值的
del a, del a[index]
a.clear() 把列表清空只剩下[]
排序
sort ()#可以对数字和字母进行排序,字母是按照ascii码进行排序的,sort()里面的参数reverse=True是按照从大到小进行排序,默认情况下reverse=False
reverse()
身份判断
>>> type(a) is list
True
>>>
对应操作:
1 查([])
names_class2
=
[
'张三'
,
'李四'
,
'王五'
,
'赵六'
]
# print(names_class2[2])
# print(names_class2[0:3])
# print(names_class2[0:7])
# print(names_class2[-1])
# print(names_class2[2:3])
# print(names_class2[0:3:1])
# print(names_class2[3:0:-1])
# print(names_class2[:])
2 增(append,insert)
insert 方法用于将对象插入到列表中,而append方法则用于在列表末尾追加新的对象
names_class2.append(
'alex'
)
names_class2.insert(
2
,
'alvin'
)
print
(names_class2)
3 改(重新赋值)
names_class2
=
[
'张三'
,
'李四'
,
'王五'
,
'赵六'
]
names_class2[
3
]
=
'赵七'
names_class2[
0
:
2
]
=
[
'wusir'
,
'alvin'
]
print
(names_class2)
4 删(remove,del,pop)
names_class2.remove(
'alex'
)
del
names_class2[
0
]
del
names_class2
names_class2.pop()
#注意,pop是有一个返回值的
5.extend
extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。
>>> a
=
[
1
,
2
,
3
]
>>> b
=
[
4
,
5
,
6
]
>>> a.extend(b)
>>> a
[
1
,
2
,
3
,
4
,
5
,
6
]
>>> a
=
[
1
,
2
,
3
]
>>> b
=
[
4
,
5
,
6
]
>>> a.extend(b)
>>> a
[
1
,
2
,
3
,
4
,
5
,
6
]
>>>
>>> a
+
b
[
1
,
2
,
3
,
4
,
5
,
6
,
4
,
5
,
6
]
>>> a
[
1
,
2
,
3
,
4
,
5
,
6
]
# -*- coding: utf-8 -*- # @Time : 2018/8/13 9:39 # @Author : yh # @FileName: homework.py """ 购物车程序 salary = 5000 1. iphone6s 5800 2. mac book 9000 3. coffee 32 4. python book 80 5. bicyle 1500 >>>:1 余额不足,-3000 >>>:5 已加入bicyle 到你的购物车, 当前余额:3500 >>>:quit 您已购买一下商品 bicyle 1500 coffee 30 您的余额为:2970 欢迎下次光临 """ product_list=[ ('iphone6s',5800), ('mac book',9000), ('coffee',32), ('python book',80), ('bicycle',1500), ] money=input('请输入你的金额:') goods_list=[] if money.isdigit(): money=int(money) while True: choice=input('选择购买商品编号[退出:q]:') if choice.isdigit(): choice=int(choice) if choice<len(product_list) and choice>=0: goods=product_list[choice] if goods[1]<money: money -=goods[1] goods_list.append(goods) print('您当前的余额是%s'%money) else: print('余额不足:%s'%(money-goods[1])) else: print('您输入的编号有误') elif choice=='q': print('----------您已经购买如下产品-----------') for i in goods_list: print(i) print('您的余额是%s'%money) break else: print('无效的输入') # print('购物车程序') # salary=5000 # msg=input(""" # 请选择: # 1.iphone6s 5800 # 2.mac book 9000 # 3.coffee 32 # 4.python book 80 # 5.bicyle 1500 # """) # goods=[] # while salary>0: # input_message = input('>>>:') # if input_message=='1': # print('余额不足:',(salary-5800)) # if input_message=='2': # print('余额不足:',(salary-9000)) # if input_message=='3': # goods.append('coffee') # print('已经加入coffee到你的购物车,当前余额:%s'%(salary-32))
对应操作:
1 查([])
1
2
3
4
5
6
7
8
9
10
|
names_class2
=
[
'张三'
,
'李四'
,
'王五'
,
'赵六'
]
# print(names_class2[2])
# print(names_class2[0:3])
# print(names_class2[0:7])
# print(names_class2[-1])
# print(names_class2[2:3])
# print(names_class2[0:3:1])
# print(names_class2[3:0:-1])
# print(names_class2[:])
|
2 增(append,insert)
insert 方法用于将对象插入到列表中,而append方法则用于在列表末尾追加新的对象
1
2
3
|
names_class2.append(
'alex'
)
names_class2.insert(
2
,
'alvin'
)
print
(names_class2)
|
3 改(重新赋值)
1
2
3
4
5
|
names_class2
=
[
'张三'
,
'李四'
,
'王五'
,
'赵六'
]
names_class2[
3
]
=
'赵七'
names_class2[
0
:
2
]
=
[
'wusir'
,
'alvin'
]
print
(names_class2)
|
4 删(remove,del,pop)
1
2
3
4
|
names_class2.remove(
'alex'
)
del
names_class2[
0
]
del
names_class2
names_class2.pop()
#注意,pop是有一个返回值的
|
5 其他操作
5.1 count
count 方法统计某个元素在列表中出现的次数:
1
2
3
4
5
6
7
|
>>> [
'to'
,
'be'
,
'or'
,
'not'
,
'to'
,
'be'
].count(
'to'
)
2
>>> x
=
[[
1
,
2
],
1
,
1
, [
2
,
1
, [
1
,
2
]]]
>>> x.count(
1
)
2
>>> x.count([
1
,
2
])
1
|
5.2 extend
extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。
1
2
3
4
5
|
>>> a
=
[
1
,
2
,
3
]
>>> b
=
[
4
,
5
,
6
]
>>> a.extend(b)
>>> a
[
1
,
2
,
3
,
4
,
5
,
6
]
|
extend 方法修改了被扩展的列表,而原始的连接操作(+)则不然,它会返回一个全新的列表。
1
2
3
4
5
6
7
8
9
10
|
>>> a
=
[
1
,
2
,
3
]
>>> b
=
[
4
,
5
,
6
]
>>> a.extend(b)
>>> a
[
1
,
2
,
3
,
4
,
5
,
6
]
>>>
>>> a
+
b
[
1
,
2
,
3
,
4
,
5
,
6
,
4
,
5
,
6
]
>>> a
[
1
,
2
,
3
,
4
,
5
,
6
]
|
5.3 index
index 方法用于从列表中找出某个值第一个匹配项的索引位置:
1
|
names_class2.index(
'李四'
)
|
5.4 reverse
reverse 方法将列表中的元素反向存放。
1
2
|
names_class2.reverse()
print
(names_class2)
|
5.5 sort
sort 方法用于在原位置对列表进行排序。
1
2
|
x
=
[
4
,
6
,
2
,
1
,
7
,
9
]
x.sort()
#x.sort(reverse=True)
|