Erlo

python190721

2019-07-22 01:02:55 发布   363 浏览  
页面报错/反馈
收藏 点赞

t制表符

>>> print('python') python >>> print("python") python >>> print('tpython') python

n换行符

>>> print("Languages:nPythonnCnJavaScript") Languages: Python C JavaScript >>> print('number:n1n2n3') number: 1 2 3

同时换行、制表,添加空白

>>> print('nt1nt2nt3') 1 2 3

.rstrip()删除末尾多余空白,暂时性,永久,赋值到变量中

>>> favorite_language = 'python ' >>> favorite_language 'python ' >>> favorite_language.rstrip() 'python' >>> favorite_language = favorite_language.rstrip() >>> favorite_language File "<stdin>", line 1 favorite_language ^ IndentationError: unexpected indent >>> favorite_language 'python'

.rstrip()删除末尾空白

.lstrip()删除开头空白

.strip()删除两端空白

>>> number = ' 1 ' >>> number.strip() '1' >>> number.lstrip() '1 '

**乘方

浮点数:带小数点的数字

str()转化为字符串

>>> message = 'happy' + age + 'rd birthday!' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: can only concatenate str (not "int") to str >>> message = "Happy " + str(age) + "rd Birthday!" >>> print(message) Happy 23rd Birthday!

空格,空格,没有空格就会显示错误

>>> print(1+10) File "<stdin>", line 1 print(1+10) ^ SyntaxError: invalid character in identifier >>> print(1 * 11) 11

在Python中,注释用井号( #)标识。井号后面的内容都会被Python解释器忽略,转行要继续添加#号,print语句中,没有被定义的一定要加引号,单引号双引号都可以

>>> #生日问候 ... print(happy) Traceback (most recent call last): File "<stdin>", line 2, in <module> NameError: name 'happy' is not defined >>> # 生日问候 ... print('happy')

Tim Peters撰写的“Python之禅”

列表

索引从 0 而不是 1 开始

>>> bicycles = ['trek', 'cannondale', 'redline', 'specialized'] >>> print(bicycles[0]) trek >>> print(bicycles[2].upper()) REDLINE

Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返

回最后一个列表元素。

[-1]返回最后一个列表元素。

>>> bicycles = ['trek', 'cannondale', 'redline', 'specialized'] >>> message = "My first bicycle was a " + bicycles[-1].upper() + '.' >>> print(message) My first bicycle was a SPECIALIZED.

空格是单独作为一个字符,不要丢

>>> name = ['mike','john','lisa'] >>> message = name[-1].title() + 'is my sex partner.' >>> print(message) Lisais my sex partner. >>> message = name[-1].title() + ' is my sex partner.' >>> print(message) Lisa is my sex partner.

你创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。例如,你创建一个游戏,要求玩家射杀从天而降的外星人;为此,可在开始时将一些外星人存储在列表中,然后每当有外星人被射杀时,都将其从列表中删除,而每次有新的外星人出现在屏幕上时,都将其添加到列表中。在整个游戏运行期间,外星人列表的长度将不断变化。(要理解这种算法的思路)

修改列表中第一个元素的值

>>> motorcycles = ['honda', 'yamaha', 'suzuki'] >>> print(motorcycles) ['honda', 'yamaha', 'suzuki'] >>> motorcycles[0] = 'ducati' # 空格会显示错误 File "<stdin>", line 1 motorcycles[0] = 'ducati' ^ IndentationError: unexpected indent >>> motorcycles[0] = 'ducati' #修改列表中第一个元素的值 >>> print(motorcycles) ['ducati', 'yamaha', 'suzuki']

.append()列表末尾添加元素,only one

>>> motorcycles = ['honda', 'yamaha', 'suzuki'] >>> print(motorcycles) ['honda', 'yamaha', 'suzuki'] >>> motorcycles.append('ducati') >>> print(motorcycles) ['honda', 'yamaha', 'suzuki', 'ducati'] >>> motorcycles.append('A','B') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: append() takes exactly one argument (2 given)

.insert(索引,值)

使用方法insert()可在列表的任何位置添加新元素

从列表中删除元素

你经常需要从列表中删除一个或多个元素。例如,玩家将空中的一个外星人射杀后,你很可能要将其从存活的外星人列表中删除;当用户在你创建的Web应用中注销其账户时,你需要将该用户从活跃用户列表中删除。你可以根据位置或值来删除列表中的元素。

使用del语句删除元素:使用del语句将值从列表中删除后,你就无法再访问

motorcycles = ['honda', 'yamaha', 'suzuki'] print(motorcycles) del motorcycles[0] print(motorcycles)

使用方法pop()删除元素:方法pop()(弹出)可删除列表末尾的元素,并让你能够接着使用它

>>> motorcycles = ['honda', 'yamaha', 'suzuki'] >>> print(motorcycles) ['honda', 'yamaha', 'suzuki'] >>> popped_motorcycle = motorcycles.pop() >>> print(motorcycles) ['honda', 'yamaha'] >>> print(popped_motorcycle) suzuki

.pop()删除列表末尾元素,并且可以接着使用该元素

可以使用pop()来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。

如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()。

不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove()。

使用remove()从列表中删除元素时,也可接着使用它的值。

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati'] print(motorcycles) too_expensive = 'ducati' motorcycles.remove(too_expensive) print(motorcycles) print("nA " + too_expensive.title() + " is too expensive for me.")

.remove()删除不知道列表中元素位置的值,并且可以继续使用该值。

方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要

使用循环来判断是否删除了所有这样的值。

>>> lisi = ['A','B','C'] >>> list = ['a','b','c','d'] >>> list[0] = 'e' >>> print(list) ['e', 'b', 'c', 'd'] >>> print(list.title()) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'list' object has no attribute 'title' >>> list.append(f) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'f' is not defined >>> list.append('f') >>> print(list) ['e', 'b', 'c', 'd', 'f'] >>> del list[-1] >>> print(list) ['e', 'b', 'c', 'd'] >>> list.pop() 'd' >>> print(list) ['e', 'b', 'c'] >>> list.pop(1) 'b' >>> print(list) ['e', 'c'] >>> list = ['a','b','c','d','e','f'] >>> list.remove('a') >>> print(list) ['b', 'c', 'd', 'e', 'f'] >>> list.insert(1,'z') >>> print(list) ['b', 'z', 'c', 'd', 'e', 'f']

组织列表,排序

使用方法 sort()对列表进行永久性排序

字母顺序

cars = ['bmw', 'audi', 'toyota', 'subaru'] cars.sort() print(cars)

字母顺序相反

cars = ['bmw', 'audi', 'toyota', 'subaru'] cars.sort(reverse=True) print(cars)

1.现在提前假设都是小写,问题还没完

>>> cars = ['a','c','b'] >>> cars = cars.sort() >>> print(cars) None >>> cars = ['a','c','b'] >>> cars.sort() >>> print(cars) ['a', 'b', 'c'] >>> cars.sort(reverse = true) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'true' is not defined >>> cars.sort(reverse=true) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'true' is not defined >>> cars.sort(reverse = True) >>> print(cars) ['c', 'b', 'a'] >>> print(cars.title()) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'list' object has no attribute 'title'

使用函数 sorted()对列表进行临时排序

>>> cars = ['bmw', 'audi', 'toyota', 'subaru'] >>> print("Here is the original list:") Here is the original list: >>> print(cars) ['bmw', 'audi', 'toyota', 'subaru'] >>> print(sorted(cars)) ['audi', 'bmw', 'subaru', 'toyota'] >>> print(cars) ['bmw', 'audi', 'toyota', 'subaru']

要反转列表元素的排列顺序,可使用方法reverse()

.reverse()反转列表元素顺序

cars = ['bmw', 'audi', 'toyota', 'subaru'] print(cars) cars.reverse() print(cars) print(len(cars)) 4

方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此

只需对列表再次调用reverse()即可。

使用函数len()可快速获悉列表的长度,列表中有几个元素就显示几。

操作列表:

>>> magicians = ['alice', 'david', 'carolina'] >>> for magician in magicians: ... print(magician) File "<stdin>", line 2 print(magician) ^ IndentationError: expected an indented block >>> magicians = ['alice', 'david', 'carolina'] >>> for magician in magicians: ... print(magician) ... alice david carolina >>> magicians = ['alice', 'david', 'carolina'] >>> for A in magicians: ... print(A) ... alice david carolina

缩进不对不行,for循环后面要加冒号,A or magician 是自己命名的,存储变量用,(这行代码让Python从列表magicians中取出一个名字,并将其存储在变量magician中)

for cat in cats: for dog in dogs: for item in list_of_items:

以上操作方式是便于你理解

>>> magicians = ['alice', 'david', 'carolina'] >>> for magician in magicians: ... print(magician.title() + ", that was a great trick!") ... Alice, that was a great trick! David, that was a great trick! Carolina, that was a great trick!

示例二:

>>> magicians = ['alice', 'david', 'carolina'] >>> for magician in magicians: ... print(magician.title() + ", that was a great trick!") # 第一次循环 ... print("I can't wait to see your next trick, " + magician.title() + ".n" ) ... Alice, that was a great trick! I can't wait to see your next trick, Alice. David, that was a great trick! I can't wait to see your next trick, David. Carolina, that was a great trick! I can't wait to see your next trick, Carolina.

在for循环后面,没有缩进的代码都只执行一次,而不会重复执行。

print("Thank you, everyone. That was a great magic show!")

创建数值列表:

Python函数range()让你能够轻松地生成一系列的数字:

range(1,5)函数range()让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,因此输出不包含第二个值(这里为5)。

>>> for value in range(1,6): ... print(value) ... 1 2 3 4 5

使用 list()创建数字列表,要创建数字列表,可使用函数list()将range()的结果直接转换为列表。

>>> numbers = list(range(1,6)) >>> print(numbers) [1, 2, 3, 4, 5] >>> even_numbers = list(range(2,11,2)) >>> print(even_numbers) [2, 4, 6, 8, 10]

range(x,y,z)

x起始

y停止

z步长(可以不写)

数range()让你能够轻松地生成一系列的数字

range(2, 15, 2) >>> for value in range(1,6,2): ... print(value) ... 1 3 5

如何创建一个列表,其中包含前10个整数(即1~10)的平方呢?

>>> squares = [] >>> for value in range(1,11): ... square = value**2 ... squares.append(square) ... >>> print(squares) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

使代码简化

>>> squares = [] >>> for value in range(1,11): ... squares.append(value**2) ... >>> print(squares) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

继续简化:

>>> squares = [value**2 for value in range(1,11)] >>> print(squares) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

请注意,这里的for语句末尾没有冒号。

要使用这种语法,首先指定一个描述性的列表名,如squares;然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value**2,它计算平方值。接下来,编写一个for循环,用于给表达式提供值,再加上右方括号。

列表名+循环

数值计算

>>> digits = list(range(0,10)) >>> print(digits) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> min(digits) 0 >>> max(digits) 9 >>> sum(digits) 45

练习:

>>> numbers = list(range(1,21)) >>> print(numbers) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] >>> for value in range(1,21): ... print(value) ... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

 

>>> numbers = list(range(1,1000001)) >>> min(numbers) 1 >>> max(numbers) 1000000 >>> numbers[0] 1 >>> numbers[-1] 1000000 >>> sum(numbers) 500000500000

 

>>> numbers = [value**3 for value in range(1,11)] >>> print(numbers) [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

 

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认