字符串处理
单双引号一样
.title():将每个单词的首字母变为大写,其余小写(不管原来是什么样)
.upper():将字符串中所有字母变为大写
.lower():将字符串中所有字母变为小写
.strip():删除行首和行末的空白(空格和制表符)(直接输入变量返回值才能看到,否则看不到效果)
.lstrip():删除左边,即行首
.rstrip():删除友边,即行末
合并字符串直接用加号:+
转义(不管单双引号都生效):
\t:制表符
\n:换行
字符串反转:
a="abcdef"
a[::-1]:“fedcba”
变量类型转换
整型或其他 --> 字符串:str(变量)
注释
#:单行注释
""" """:多行注释
列表
赋值:VAR=["aa","bb"] 可以先创建空列表
返回最后一个:VAR[-1]
在末尾添加:.append("aaa")
在任意位置添加:.insert(索引位置,"ccc")
删除:del VAR[索引位置](后边的索引会顶替删除的索引)
.remove(值):根据值删除,只删除一次就停止,如果删除多个同样的值需要用循环判断是否删除干净
弹出列表中最后一个元素:.pop()(弹出的元素可使用,但是不会在列表中存在了)
删除和弹出的区别:删除之后不可使用,弹出能够使用这个弹出的元素
排序:
.sort():对列表永久性排序(按照首字母)
反向排序,传递参数:.sort(reverse=True)
sorted(列表):临时排序,返回排序好的列表,但是对原来的列表无影响
临时反向排序:sorted(列表,reverse=True)
倒着打印列表:.reverse()
反转列表:reverse(列表)
获取列表长度:len(列表)
遍历列表:for i in 列表:
最好的命名方式,列表取复数,遍历变量取单数,即:
for cat in cats:
创建数字列表:
range():生成一串数字
range(1,6):生成1到5(没有6)
range(2,11,2):跳着生成
在生成一串数字之后,使用list()将其转换成列表:
list(range(1,6))
上面的可以简写为一行:squares = [value**2 for value in range(1,11)]
找极值:
min(digits):最小值
max(digits):最大值
sum(digits):求和
列表切片:
列表[1:4] :打印从1开始到4的前边3
列表[:4] :如果不写起始则从头开始
列表[1:] :如果不写结束则一直到末尾
列表[-5:] :打印出最后5个元素
列表切片可用于遍历一部分列表
复制列表:
列表2=列表1[:](可以指定复制的范围)
后头必须有方括号,否则是两个名字指向同一个列表,不是复制
元组:不可修改的列表(使用方法同列表)
元组=(200,50)
print(元组[0])
不能单独修改一个元素的值,但是可以整体赋值:
dimensions = (200, 50)
dimensions = (400, 100)
编程标准:
缩进为四个空格
一行最长最好不超过80个字符
空行不要滥用
if语句
if VAR1=VAR2:
COMMAND
else:
COMMAND
或者写成:
VAR1 == VAR2
在判断时区分大小写,如果VAR1位大写,VAR2为小写,则if返回值为FALSE
如果不想区分大小写,可以先使用“.lower()”都转换为小写再比,而且不会影响原来变量中的内容
比较符号:
等于:==
不等于:!=
大\小(等)于:>、<、<=、>=
条件与:and(and两边要有空格,和变量分开)(and两边的潘丹条件可使用小括号包裹起来)
条件或:or
判断一个特定的值是否在列表中:in
'value' in lists
不包含 not in
布尔值:True、False(大小写固定,必须首字母大写)
if格式:(elif和else部分都可以省略)
if age < 4:
print("Your admission cost is $0.")
elif age < 18:
print("Your admission cost is $5.")
else:
print("Your admission cost is $10.")
使用实例:(判断是否在列表中)
requested_toppings = ['mushrooms', 'extra cheese']
if 'mushrooms' in requested_toppings:
print("Adding mushrooms.")
if 'pepperoni' in requested_toppings:
print("Adding pepperoni.")
if 'extra cheese' in requested_toppings:
print("Adding extra cheese.")
if lists:(判断列表是否为空)
字典(没有顺序,只关心键值对的关联关系)
赋值:
alien_0 = {}(创建空字典)
alien_0 = {'color': 'green', 'points': 5} (批量赋值)
alien_0['x_position'] = 0 (离散赋值)
使用:
print(alien_0['color'])(打印单个)
print(alien_0) (打印全部)
删除:
del alien_0['points']
遍历字典:
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
for key, value in user_0.items(): (使用items函数遍历键值对)
(如果没使用items函数,且只有一个变量的情况下输出的是索引)
for i in lists.keys(): (遍历索引)
for i in lists.values():(遍历值)
(key和value这两个单词可以自己任意起)
字典无序,对其排序:
for name in sorted(favorite_languages.keys()):
剔除重复:
for language in set(favorite_languages.values()):
字典嵌套:
将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。你可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典
alien_0 = {'color': 'green', 'points': 5}
alien_1 = {'color': 'yellow', 'points': 10}
alien_2 = {'color': 'red', 'points': 15}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
print(alien)
输出结果:
{'color': 'green', 'points': 5}
{'color': 'yellow', 'points': 10}
{'color': 'red', 'points': 15}
动态创建字典保存在列表中:
aliens = []
for alien_number in range(30):
new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
aliens.append(new_alien)
然后可以通过遍历列表来修改字典中的内容
列表保存在字典中:
favorite_languages = {
'jen': ['python', 'ruby'],
'sarah': ['c'],
'edward': ['ruby', 'go'],
'phil': ['python', 'haskell'],
}
for name, languages in favorite_languages.items():
print("\n" + name.title() + "'s favorite languages are:")
for language in languages:(循环中包含循环)
print("\t" + language.title())
字典中保存字典:(最好每个子字典中所包含的值都一样,这样方便管理)
users = {
'aeinstein': {
'first': 'albert',
'last': 'einstein',
'location': 'princeton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
},
}
输入:
VAR_STR=input("这里写一些提示信息")(这是python3,在python2中使用raw_input)
有时候提示是信息超过一行,可以使用变量来存储(\n是换行)
VAR_INT=int(VAR_STR)(将字符串类型转换成整型)
while循环:
while 判断条件:(可以是True或False(首字母大写))
continue
break
while和列表搭配:
while lists:(当列表空时结束)
lists.pop()(使用pop函数输出,或者使用remove,不然死循环)
pop:弹出列表中最后一个元素
remove:删除列表中的值,但只删第一个,后头再有重复的不管,当想要删除列表中多个重复的值时,使用while来进行删除
while 'cat' in pets:
pets.remove('cat')