Python
来源:互联网 发布:寻求网络黑客高手帮忙 编辑:程序博客网 时间:2024/05/21 19:48
Python 基础
1.-----字符串
不支持修改
type() 查看数据类类型
Python title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写
访问列表元素
>>>names=['002','003','004','005','007']
>>>print(names[2])
004
print(names)
['002', '003', '004', '0101001', '007']
一、 定义列表
1.names =['mike','mark','candice','laular'] #定义列表
2.num_list =list(range(1,10)) #range生成1-10范围内的数,并强制转化成列表
二、增:append()、insert()方法
方法 append() 将元素添加到末尾
2.insert()方法:在指定位置添加元素或者列表
方法 insert() 可在列表的任何位置添加新元素
#names.insert(1,'enjoy')
#names.insert(1,names2) 在指定位置添加列表
(在索引处添加空间,并将值存储到这个空间,将其他元素右移一个位置)
三、删:del、pop()、remove()、clear()
1.del: 删除指定下标的值 delnames[0]
2.pop() #默认从列表末尾删除,也可以删除指定下标的值
#names.pop() 删除末尾的值
#names.pop(1) 删除指定下标的值
3.remove()方法:删除指定的值
#names.remove('004') 在原列表中直接删除
#names[1].remove('bird') 在另一个list里需要定位到list才能删除
4.clear() 清空数据
# names.clear() 清空列表数据
5.改
要修改列表元素,可指定列表名和要修改的元素索引,再指定该元素新值。
#names[3]='0101001'
四、查:查询列表可通过下标和切片的方式
1.切片方式
#names=['002','003','004','005','007']
#print(names[1:3]) 通过切片方式获取值(下标)切片是顾头不顾尾
结果 ['003', '004']
#print(names[0:]) 获取从从下标后面的所有 结果['002','003','004','005','007']
#print(names[:2]) 获取从下标 前面的所有值 结果['002', '003']
#print(names[:]) 获取所有值
#print(names[-1]) 获取最后一个值
# print(names[::-1]) 从后往前取值
#print(names[1::3]) 每隔三个取一个
六、列表的其他方法
1.index() 获取指定元素的下标
#names.index('005')
#names.count('003') 获取指定元素出行的次数
.extend()方法:合并列表,修改原列表的值,只能合并到原列表末尾
#names.extend(abc) 合并列表
sort()方法:进行排序:默认为升序,降序排序需要添加:reverse=True,reverse是反转的意思
#names.sort() 升序排序
names.sort(reverse=True) 降序排序
sorted() 对列表进行临时升序排序
>>>print(sorted(arr))
[12, 23, 31,123, 123, 123, 123]
#print(sorted(arr,reverse=True)) 对列表进行临时降序排序
[123, 123, 123,123, 31, 23, 12]
1) Len()函数可以确定列表长度
>>>arr=[123,123,123,123,12,31,23]
>>>len(arr)
7
七、insert和extend的区别
1.insert可以指定插入元素的位置,extend不能指定吗,只能合并末尾
2.insert是在原列表基础上添加元素,什么都可以加(列表、字符串……)extend只能合并2个列表,对列表进行扩展,不能添加字符串
八、元组
1.元组的值不能改变,是一个不可变的列表,可以通过访问下标的方式和切片的方式进行查询,但是想要修改笔先转换成list
#rest=('phusic','chinese','music','mark','laular') 定义元祖
#rest[0]=0011 非法修改
#tup2=list(tup1) #想要修改元祖,必须先将其转换成list才可以
#print tup2 #打印结果:['physics', 'chemistry', 1997, 2000]
#tup2[2] = '1989'
#print tup2 #打印结果:['physics','chemistry', 1989, 2000]
2.元祖只有count和index方法
2.元祖只有count和index方法
names =('mike','mark','candice','laular','mark','msr')
print(names.count('mark'))#打印结果:2
print(names.index('msr'))#打印结
二.操作列表
1)遍历列表
# arr=[123,123,123,123,12,31,23]
# fori in arr :
print(i)
2)创建数值列表
1.range()函数产生一系列数字, 差一行为的结果
#for num in range(1,5):
print(num)
1
2
3
4
2.使用range()创建数字表
使用list()将range()的结果直接转换为列表。
# numbers= list(range(1,6))
print(numbers)
可指定步长
# number=list(range(2,16,3))
>>>print(number)
[2,5, 8, 11, 14]
使用range几乎能创建任何需要的数字集,
>>>pops=[] #创建空列表
>>>for pop in range(1,11): #使用函数range()遍历1-10的值
pop=pop**2 #在循环中,计算当前值的平方
pops.append(pop) #将新计算的平方值添加到列表末尾
>>>print(pops)
[1,4, 9, 16, 25, 36, 49, 64, 81, 100]
简化上面的代码 ----
>>> ppp=[]
>>>for ps in range(1,11):
ppp.append(ps**2)
>>>print(ppp)
[1,4, 9, 16, 25, 36, 49, 64, 81, 100]
3.对数字列表执行简单的统计计算
min(列表名) 最小值 max()最打值 sum()求和
---
能被3整除的数字 1-30
>>>number=[]
>>>for num in range(1,11):
number.append(num*3)
>>>print(number)
[3,6, 9, 12, 15, 18, 21, 24, 27, 30]
4.使用列表的一部分:切片
可省略起止或终止索引,负索引返回离列表末尾相应距离的元素
打印后面三个
>>>print(pl[-3:])
['bird','pop', 'fly']
4.2 遍历切片
遍历列表的部分元素,可在for循环中使用切片
>>>for ps in pl[:4]:
print(ps.title())
Pig
Dog
Bird
Pop
4.3复制列表
要复制整个列表,方法是省略起止和终止索引
Pl原列表
pdddd=pl[:]
复制列表切片
print(pff)
['pig','dog', 'bird']
4.4 修改元组变量
虽然不能修改元组的元素,但可以给援助变量赋值
#dimensions= (200, 50)
print("Originaldimensions:")
fordimension in dimensions:
print(dimension)
dimensions= (400, 100)
print("\nModified dimensions:")
fordimension in dimensions:
print(dimension)
5.If语句
5.1示列
5.2条件测试
每条if语句的核心都是一个值为true或flase的表达式,这种表达式称为条件测试。
>>>car='lol'
>>>car=='lol'
True
检测是否相等时不考虑大小写,两个大小写不同的字值会视为不相等
>>>game='LOL'
>>>game=='lol'
False
若只想检查变量的值,课件变量的值转换为小写,再比较
>>>game.lower()=='lol'
True
5.2.3检查是否不相等
(!=)
5.2.4比较数字
== ,!= ,<=,>=
5.2.5 检查多个条件
关键字and将两个条件测试合而为一
>>> age_0 = 22
>>> age_1 = 18
>>> age_0 >= 21 and age_1 >= 21
False
为改善可读性,可增加括号
2.使用or检查多个条件
与 只要有一个天条件满足,就通过测试
>>>num=21
>>>num1=18
>>>num>=18 or num1>=18
True
5.2.6 检查特定值是否包含在特定的列表中
使用关键字in
>>>food=['touf','rice','niude','shal']
>>>'touf' in food
True
5.2.7布尔表达式
布尔表达式的结果要么为True要么为false
#Game_active=True
5.3if语句
>>>age=21
>>>if age>18:
print("you old !")
youold !
5.3.2 if-else语句
>>>if age<18:
print("you are too yong")
else:
print("you old")
you old
5.3.3 if-elif-else结构
Elif代码是另一个if测试前面的测试未通过就执行
>>> if age<4:
price=0
elif age<18:
price=5
elif age<65:
price=10
else:
price=5
>>>print(" $"+str(price))
$5
5.4.2 判断列表是否为空
Python在列表至少包含一个元素时返回True,为空时返回Flase
六.字典
5.1一个简单字典
>>>al_0={'color':'blue','points':8}
>>>print(al_0['color'])
blue
>>>print(al_0['points'])
8
>>>
在Python中字典是一系列的键值对,每个键都与一个值相关联。
与键相关的值可以是数字、字符串、列表乃至字典。键和值之间用冒号分隔,而键值对之间用逗号分隔。
添加键值对
al_0['x_points']=15
>>>al_0['y_points']=15
>>>print(al_0)
{'color':'blue', 'points': 8, 'x_points': 15, 'y_points': 15}
5.2修改字典中的值
>>>al_0['color']='yellow'
>>>print(al_0)
{'color':'yellow', 'points': 8, 'x_points': 15, 'y_points': 15}
5.3删除键值对
del
>>> delal_0['points']
>>> print(al_0)
{'color': 'yellow','x_points': 15, 'y_points': 15}
5.4遍历字典
可声明两个变量,用于存储键— 值对中的键和值,对于这两个变量,可使用任何名称。
>>>user={'username':'eff','first':'kio','last':'fer'}
>>>for key,value in user.items():
print("\nkey:"+key)
print("value:"+value)
key:username
value:eff
key:first
value:kio
key:last
value:fer
5.4.2 遍历字典中的所有键
方法keys()更容易让人理解,for n in favorite_languages:也能输出这样的结果
遍历字典时,会默认遍历所有键
>>>favorite_languages={'jek':'Python','jim':'c++','bob':'java','pop':'vb'}
>>>for n in favorite_languages.keys():
print(n.title())
Jek
Jim
Bob
Pop
在for循环中对返回的值进行排序,可使用storted()来获得特定顺序排列的副本
forname in sorted(favorite_languages.keys()):
遍历字典中的所有值
方法Values()
通过包含重复元素的列表用set()
forlanguage in set(favorite_languages.values()):
- Python
- Python
- Python
- python
- Python
- PYTHON
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- Python
- python
- Python
- 四十岁是科学家的黄金年龄 我还有机会
- 开发规范拟定--初版
- Writing Aliases in csh and tcsh Simple aliases The csh and tcsh shells provide an alias command th
- SpringMVC坏境搭建
- easyui_datagrid1
- Python
- WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
- 人工智能基础复习2——问题求解
- ColorArcProgressBar圆形进度条
- 2017算法课.16(Predict the Winner)
- 数据结构之求二叉树的所有叶子和以及叶子总数
- Java类的相关概念
- 新手如何学习Java——Java学习路线图
- 【算法】(遇到的问题)给定一个数组,找出不在数组中的最小的那个数字