丁香婷婷色五月激情综合深爱

发布日期:2022-06-18 17:04    点击次数:80

整理了四十个好用到升起的 Python 手段!

 

写在前边

Python简便易学,现今特等流行。Python被用于各式场景,如数据科学、机器学习、web设置、剧本编制、自动化等等。

Python的简便易学性在数据科学特等病笃。尽管一些数据科学家有算计打算机科学布景或了解其他编程话语,但仍有许大宗据科学家来自各类专科,如统计学、数学或其他时刻学科,当他们刚参加这个行业时,可能并莫得那么多编程学问。Python语法易于知道和编写的上风,使它成为一种流行于快速且易于学习的编程话语。

在本文中,云朵君将和巨匠一路学习 40 个不错匡助你加速数据料理成果的的设施和手段,但愿对你有所匡助。

目次

01 列表推导式

02 摆设函数

03 通过函数复返多个值

04 像在数学中一样比拟多个数字

05 将字符串更正为字符串列表

06 For-Else 设施

07 从列表中找到n个最大/小的元素

08 函数参数以列表值传递

09 重迭统统这个词字符串

10 从列表中找到元素的索引

11 在归拢排中打印多个元素

12 分隔大数字以易于阅读

13 回转列表的切片

14 "is" 和 "==" 的隔离

15 在一排代码中合并 2 个字典

16 识别字符串是否以特定字母开头

17 获取字符的Unicode

18 获取字典的键值对

19 在数学运算中使用布尔值

20 在列表的特定位置添加值

21 过滤器filter()函数

22 创建莫得参数限制的函数

23 一次迭代两个或多个列表

24 改变句子中字母的大小写

25 检查对象使用的内存大小

26 Map() 函数

27 回转统统这个词字符串

28 代码块的彭胀时候

29 删除字符串的左侧或右侧字符

30 在元组或列表中查找元素的索引

31 清空列表或磋议中元素

32 瓦解两个磋议

33 阐明频率对列表的值排序

34 从列表中删除重迭值

35 列表中元素瓦解为句子

36 一次从函数复返多个值

37 找出两个列表之间的相反

38 将两个列表合并为一个字典

39 彭胀字符串示意的代码

40 字符串神志化

01 列表推导式

列表的元素不错在一排中轮回遍历。 

numbers = [1, 2, 3, 4, 5, 6, 7, 8]  even_numbers = [number for number in numbers if number % 2 == 0]  print(even_numbers)  

输出

[1,3,5,7]

通常不错使用字典、磋议和生成器来完成推导式。 

dictionary = {'first_num': 1, 'second_num': 2,                'third_num': 3, 'fourth_num': 4}  oddvalues = {key: value for (key, value) in dictionary.items() if value % 2 != 0}  print(oddvalues)Output: {'first_num': 1,                            'third_num': 3} 
02 摆设函数

Enumerate (摆设) 是一个很有效的函数,用于迭代对象,如列表、字典或文献。该函数生成一个元组,其中包括通过对象迭代得回的值以及轮回计数器(从 0 的肇端位置)。当但愿阐明索引编写代码时,轮回计数器就派上用场了。

来看一个示例,其中第一个和临了一个元素会被隔离对待。 

sentence = 'Just do It'  lenlength = len(sentence)  for index, element in enumerate(sentence):      print('{}: {}'.format(index, element))      if index == 0:          print('The first element!')      elif index == length - 1:          print('The last element!') 

输出

0: J

The first element!

1: u

2: s

3: t

4:

5: d

6: o

7:

8: I

9: t

The last element!

也不错使用 enumerate 函数摆设文献。鄙人面的示例中,在跳出轮回之前打印 CSV 文献的前 10 行。况兼不错在职何文献上使用该函数。 

with open('heart.csv') as f:      for i, line in enumerate(f):          if i == 10:              break          print(line) 
03 通过函数复返多个值

在假想函数时,咱们频频但愿复返多个值。在这里先容两种典型的设施。

设施一

最简便的是复返一个元组。这种设施正常只在有两个或三个值要复返时使用。但当元组中有更多值时,很容易健忘项目标规矩。

底下的代码部分是一个示例函数,它阐明学生的 ID 号将学生的名字和姓氏动作元组复返。 

# 复返元组  def get_student(id_num):      if id_num == 0:          return '君', '云朵'      elif id_num == 1:          return '山公', '小'      else:          raise Exception('莫得学生的id是: {}'.format(id_num)) 

当咱们使用数字 0 调用函数时,咱们精明到它复返一个具有两个值的元组:'Taha' 和 'Nate' 。 

Student = get_student(0)  print('名字: {}, 姓氏: {}'.format(Student[0],          Student[1])) 

输出

名字:君,姓氏:云朵

设施二

第二个聘用是复返字典。因为字典是键值对,咱们不错对复返的值进行定名,这比元组更直觉。

设施二的收尾形状和设施逐个样,仅仅复返一个字典。 

# 复返字典  def get_data(id_num):      if id_num == 0:          return {'first_name': '君',                  'last_name': '云朵',                   'title': '数据STUDIO',                 'department': 'A',                   'date_joined': '20201001'}      elif id_num == 1:          return {'first_name': '山公',                   'last_name': '小',                   'title': '机器学习研习院',                  'department': 'B',                   'date_joined': '20201019'}      else:          raise Exception('莫得职工的id是: {}'.format(id_num)) 

当为止是字典时,通过键援用特定值会更容易。咱们正在调用 id_num = 0 的函数。 

employee = get_data(0)  print('first_name: {}, nlast_name: {}, ntitle: {}, ndepartment: {}, ndate_joined: {}'.format(        employee['first_name'], employee['last_name'],       employee['title'], employee['department'],       employee['date_joined'])) 

输出 

first_name: 君,    last_name: 云朵,    title: 数据STUDIO,    department: A,    date_joined: 20201001 
04 像在数学中一样比拟多个数字

要是有一个值并但愿将其与其他两个值进行比拟,不错使用以下基本数学抒发式: 1<x<30

这即是咱们在小学学到的代数抒发式。通常的语句也不错在 Python 中使用。你应该用过如下的比拟形状:

1<x and x<30

在 Python 中收尾上述比拟形状的另一种比拟设施是:1<x<30 

x = 5  print(1<x<30)  

输出

True

05 将字符串更正为字符串列表

假定将函数的输入动作字符串,但它应该是这样的列表: 

输入 = [[1, 2, 3], [4, 5, 6]] 

其实无需料理复杂的正则抒发式,只需导入模块'ast'并调用其函数literal_eval: 

import ast  def string_to_list(string):      return ast.literal_eval(string)  string = "[[1, 2, 3],[4, 5, 6]]"  my_list = string_to_list(string)  print(my_list) 

输出

[[1, 2, 3], [4, 5, 6]]

06 For-Else 设施

此设施用于在列表上行使轮回。正常,当你想遍历你行使的列表时,不错使用 for 轮回。关联词在这种设施中,你不错在轮回中传递一个 else 条款,这种情况极为漠视。其他编程话语不支撑这种设施。

望望它在一般情况下是怎么使命的:要是要检查列表中是否有偶数。 

number_List = [1, 3, 7, 9,8]  for number in number_List:      if number % 2 == 0:          print(number)          break      else:      print("No even numbers!!") 

输出

8

要是找到偶数,则将打印该数字,况兼 else 部分将不会彭胀,因为咱们传递了一个 break 语句。要是 break 语句从不彭胀,则 else 块将彭胀。

07 从列表中找到N个最大/小的元素

通过使用'heapq'模块,你不错从列表中找到 n-largest 或 n-smallest 元素。 

import heapq  numbers = [80, 25, 68, 77, 95, 88, 30, 55, 40, 50]  print(heapq.nlargest(5, numbers))  print(heapq.nsmallest(5, numbers)) 

输出

[95, 88, 80, 77, 68] [25, 30, 40, 50, 55]

08 函数参数以列表值传递

不错使用'*'造访列表的统统元素。 

def Summation(*arg):      sum = 0      for i in arg:          sum += i      return sum  result = Summation(*[8,5,10,7])  print(result) 

输出

30

09 重迭统统这个词字符串

只需将字符串乘以一个数字,即但愿字符串重迭的次数。 

value = "数据STUDIO"  print(value * 3)   print("-" *31) 

输出

数据STUDIO数据STUDIO数据STUDIO  

----------------------------

10 从列表中找到元素的索引

使用".index"从列表中查找元素的索引。 

cities= ['Vienna', 'Amsterdam', 'Paris', 'Berlin']  print(cities.index('Berlin'))  

输出

3

11 在归拢排中打印多个元素 
print("数据", end="")  print("STUDIO")  print("数据",
国模丰满少妇私拍 end=" ")  print("STUDIO")  print('Data', 'science', 'Machine',         'Learning', sep=', ') 

输出

数据STUDIO  

数据 STUDIO  

Data, science, Machine, Learning

12 分隔大数字以易于阅读

只怕,当你尝试打印一个大数字时,传递统统这个词数字会特等絮聒且难以阅读。关系词你不错使用下划线,使其易于阅读,打印为止并不会表露下划线。 

print(5_000_000_000_000)  print(7_543_291_635) 

输出

5000000000000  

7543291635

13 回转列表的切片

当你对列表进行切瞬息,你需要传递最小、最大和步长。要以相背的规矩进行切片,你只需要传递一个负步长。 

sentence = "数据STUDIO 云朵君"  print(sentence[21:0:-1])  # 上前走两步  print(sentence[21:0:-2]) 

输出

君朵云 OIDUTS据

君云ODT据

14 "is" 和 "==" 的隔离

要是要检查两个变量是否指向归拢个对象,则需要使用'is'。关联词要是要检查两个变量是否相通,则需要使用'=='。 

list1 = [7, 9, 4]  list2 = [7, 9, 4]  print(list1 == list2)   print(list1 is list2)  list3 = list1  print(list3 is list1) 

输出

True  

False  

True

第一个语句是 True,因为 list1 和 list2 都持有相通的值,是以它们是相等的。第二个语句为 False,因为值指向内存中的不同变量,第三个语句为 True,因为 list1 和 list3 都指向内存中的巨匠对象。

15 在一排代码中合并 2 个字典 
first_dct = {"London": 1, "Paris": 2}  second_dct = {"Tokyo": 3, "Seol": 4}  merged = {**first_dct, **second_dct} print(merged) 

输出

{‘London’: 1, ‘Paris’: 2, ‘Tokyo’: 3, ‘Seol’: 4}

16 识别字符串是否以特定字母开头

要是你需要澄莹字符串是否以特定字母开头,那么你不错使用常见的索引设施。关联词你也不错使用一个名为 'startswith' 的函数,它会告诉你一个字符串是否以特定的单词开头。 

sentence = "Data Studio"  print(sentence.startswith("d"))  print(sentence.startswith("o")) 

输出

False

True

17 获取字符的Unicode

要是你需要澄莹一个字符的 Unicode,那么你需要使用一个名为'ord'的函数,并在函数中传递你想澄莹其 Unicode 的字符。 

print(ord("T"))  print(ord("A"))   print(ord("h"))   print(ord("a")) 

输出

84  

65  

104  

97

18 获取字典的键值对

要是你想以不同的形状造访字典的键和值,你不错使用名为'items()'的函数来收尾。 

cities = {'London': 1, 'Paris': 2, 'Tokyo': 3, 'Seol': 4}  for key, value in cities.items():      print(f"Key: {key} and Value: {value}") 

输出

Key: London and Value: 1  

Key: Paris and Value: 2  

Key: Tokyo and Value: 3  

Key: Seol and Value: 4

19 在数学运算中使用布尔值

False被视为 0,True被视为 1 

x = 9  y = 3  outcome = (x - False)/(y * True)  print(outcome) 

输出

3.0

20 在列表的特定位置添加值

要是你想使用'append' 功能向列表添加值,但它会在列表的临了位置添加一个值。要是你想在列表的特定位置添加值怎么办?你不错使用名为 'insert' 的函数在列表的特定位置插入值。

语法 

list_name.insert(position, value)  cities = ["London", "Vienna", "Rome"]  cities.append("Seoul")  print("After append:", cities)  cities.insert(0, "Berlin")  print("After insert:", cities) 

输出

After append: ['London', 'Vienna', 

               'Rome', 'Seoul']   

After insert: ['Berlin', 'London', 

               'Vienna', 'Rome', 'Seoul']

21 过滤器 filter() 函数

过滤器filter()函数的使命顾名思义。它通过里面传递的特定函数来过滤特定的迭代器。并复返一个迭代器。

语法 

filter(function, iterator)  mixed_number = [8, 15, 25, 30,34,67,丁香婷婷色五月激情综合深爱90,5,12]  filterfiltered_value = filter(lambda x: x > 20, mixed_number)  print(f"Before filter: {mixed_number}")  print(f"After filter: {list(filtered_value)}") 

输出

Before filter:[8, 15, 25, 30, 34, 67, 90, 5, 12] 

After filter:[25, 30, 34, 67, 90]

22 创建莫得参数限制的函数

你不错无需防备参数而创建一个函数。不错在调用函数时传递轻易数目的参数。 

def multiplication(*arguments):      mul = 1      for i in arguments:          mulmul = mul * i      return mul  print(multiplication(3, 4, 5))  print(multiplication(5, 8, 10, 3))  print(multiplication(8, 6, 15, 20, 5)) 

输出

60  

1200  

72000

23 一次迭代两个或多个列表

你不错使用 enumerate 函数迭代单个列表,关联词当你有两个或多个列表时,你也不错使用'zip()'函数迭代它们。 

capital = ['Vienna', 'Paris', 'Seoul',"Rome"]  countries = ['澳大利亚', '法国', '韩国',"意大利"]  for cap, country in zip(capital, countries):      print(f"{cap} 是 {country} 的都门") 

输出

Vienna 是 澳大利亚 的都门  

Paris 是 法国 的都门  

Seoul 是 韩国 的都门  

Amsterdam 是 意大利 的都门

24 改变句子中字母的大小写

要是你想改变字母的大小写,即大写到小写,小写到大写,那么你不错使用一个叫做'swapcase'的函数收尾这一功能。 

sentence = "Data STUDIO"  changed_sen = sentence.swapcase()  print(changed_sen) 

输出

dATA studio

25 检查对象使用的内存大小

要检查对象使用的内存,最初导入 'sys' 库,然后使用该库中名为 'getsizeof' 的设施。它将复返对象使用的内存大小。 

import sys mul = 5*6  print(sys.getsizeof(mul)) 

输出

28

26 Map() 函数

'Map()' 函数用于特定的功能行使到一个给定的迭代器。

语法

map(function, iterator) 

values_list = [8, 10, 6, 50]  quotient = map(lambda x: x/2, values_list)  print(f"Before division: {values_list}")  print(f"After division: {list(quotient)}") 

输出

Before division:[8, 10, 6, 50]   

After division:[4.0, 5.0, 3.0, 25.0]

27 回转统统这个词字符串

要回转字符串,你不错使用切片设施。 

value = "OIDUTS ataD"  print("Reverse is:", value[::-1]) 

输出

Reverse is: Data STUDIO

28 代码块的彭胀时候

当你考验机器学习或深度学习模子,大略仅仅运转一个代码块时,获取需要检查运转代码块耗尽了若干时候。你不错聘用在代码块的顶部使用一个魔法函数'%%time'。它将表露运转代码块所耗尽的时候。 

%%time  sentence = " Data STUDIO."  changed_sen = sentence.swapcase()  print(changed_sen)  

输出

  dATA studio.  

 CPU times: user 145 µs, sys: 578 µs, 

 total: 723 µs  

 Wall time: 1.04 ms

29 删除字符串的左侧或右侧字符

有两个函数称为 'rstrip()' 和 'lstrip()','rstrip()' 用于从字符串右侧删除某个字符,而 'lstrip()' 用于从字符串左侧删除某个字符。两个函数的默许值都是空格。关联词你不错传递你的特定字符以将它们从字符串中删除。 

sentence1 = "Data STUDIO     "  print(f"After removing the right space: {sentence1.rstrip()}")   sentence2 = "        Data STUDIO"  print(f"After removing the left space: {sentence2.lstrip()}")  sentence3 = "Data STUDIO .,bbblllg"  print("After applying rstrip:", sentence3.rstrip(".,blg")) 

输出 

After removing the right space: Data STUDIO    After removing the left space: Data STUDIO    After applying rstrip: Data STUDIO  你不错通过在其中运转 for 轮回来算计打算元素在列表中出现的次数。关联词你不错更简易地做到这一丝,只需调用名为'count'的列表中的设施即可。  cities= ["Amsterdam", "Berlin", "New York",            "Seoul", "Tokyo", "Paris", "Paris",          "Vienna","Paris"] print("Paris appears", cities.count("Paris"), "times in the list") 

输出

Paris appears 3 times in the list

30 在元组或列表中查找元素的索引

只需在该元组或列表上调用一个名为'index'的简便设施,就不错在该元组或列表中找到元素的索引。 

cities_tuple = ("Berlin", "Paris", 5, "Vienna", 10)  print(cities_tuple.index("Paris"))   cities_list = ['Vienna', 'Paris', 'Seoul',"Amsterdam"]  print(cities_list.index("Amsterdam")) 

输出

1  

3

31 清空列表或磋议中元素

不错通过在列表或磋议上行使称为'clear'的设施从列表或磋议中删除统统元素。 

cities_list = ['Vienna', 'Paris', 'Seoul',"Amsterdam"]  print(f"Before removing from the list: {cities_list}")  cities_list.clear()  print(f"After removing from the list: {cities_list}")  cities_set = {'Vienna', 'Paris', 'Seoul',"Amsterdam"}  print(f"Before removing from the set: {cities_set}")  cities_set.clear() print(f"After removing from the set: {cities_set}") 

输出

Before removing from the list: ['Vienna', 

              'Paris', 'Seoul', 'Amsterdam']  

After removing from the list: []  

Before removing from the set: {'Seoul', 

              'Amsterdam', 'Paris', 'Vienna'}  

After removing from the set: set()

32 瓦解两个磋议

要加入两个磋议,你不错行使称为union()的设施。它将加入你行使该设施的两个列表。 

set1 = {'Vienna', 'Paris', 'Seoul'}  set2 = {"Tokyo", "Rome",'Amsterdam'}  print(set1.union(set2)) 

输出

{'Seoul', 'Rome', 'Paris', 

 'Amsterdam', 'Tokyo', 'Vienna'}

33 阐明频率对列表的值排序

最初,使用名为 collections 的模块中的'counter'来测量每个值的频率,然后对计数器的为止行使名为'most_common'的设施,阐明频率对列表中的值进行排序。 

from collections import Counter  count = Counter([7, 6, 5, 6, 8, 6, 6, 6])  print(count)  print("阐明频率对值进行排序:", count.most_common()) 

输出:

Counter({6: 5, 7: 1, 5: 1, 8: 1})  

阐明频率对值进行排序:[(6, 5), (7, 1), (5, 1), (8, 1)]

34 从列表中删除重迭值

最初将列表更正为磋议,这将删除重迭值,因为磋议不包含重迭值。然后再次将磋议更正为列表,这样就不错简易地从列表中删除重迭的值。 

cities_list = ['Vienna', 'Paris', 'Seoul',                 "Amsterdam","Paris","Amsterdam", "Paris"]  cities_list = set(cities_list)  print("从列表中删除重迭值后:", list(cities_list)) 

输出

从列表中删除重迭值后:['Vienna', 'Amsterdam', 

                   'Seoul', 'Paris']

35 列表中元素瓦解为句子

通过使用称为'join'的设施,不错瓦解列表的统统单个元素并生成单个字符串或句子。 

words_list = ["数据", "STUDIO", "云朵君"]  print(" ".join(words_list)) 

输出

数据STUDIO云朵君

36 一次从函数复返多个值

不错在 python 中做到一次从一个函数复返多个值。 

def calculation(number):      mul = number*2      div = number/2      summation = number+2      subtract = number-2      return mul, div, summation, subtract  mul, div, summation, subtract = calculation(10)  print("乘法:", mul) print("除法:", div)  print("加法:", summation)  print("减法:", subtract) 

输出

乘法: 20  

除法: 5.0   

加法: 12  

减法: 8

37 找出两个列表之间的相反

最初,将列表更正为磋议,然后对这些磋议行使称为'symmetric_difference'的设施。这将复返这两个列表之间的相反。 

cities_list1 = ['Vienna', 'Paris', 'Seoul',"Amsterdam", "Berlin", "London"]  cities_list2 = ['Vienna', 'Paris', 'Seoul',"Amsterdam"]  cities_set1 = set(cities_list1)  cities_set2 = set(cities_list2)  difference = list(cities_set1.symmetric_difference(cities_set2))  print(difference) 

输出

['Berlin', 'London']

38 将两个列表合并为一个字典

最初,在这两个列表上行使 zip 函数,然后将 zip 函数的输出更正为字典。你的使命已完成,将两个列表更正为一个字典即是这样容易。 

number = [1, 2, 3]  cities = ['维也纳', '巴黎', '首尔']  result = dict(zip(number, cities))  print(result) 

输出

{1:'维也纳', 2:'巴黎', 3:'首尔'}

39 彭胀字符串示意的代码

将字符串编译成python能识别或可彭胀的代码,也不错将笔墨读成字符串再编译。 

s  = "print('helloworld')"  r = compile(s,"<string>", "exec")  exec(r) 

输出

helloworld

40 字符串神志化

神志化输出字符串,format(value, format_spec)本色上是调用了value的format(format_spec)设施。 

print("i am {0},age{1}".format("tom",18))  

输出

i am tom,age18

3.1415926 {:.2f} 3.14 保留少许点后两位 3.1415926 {:+.2f} 3.14 带鲜艳保留少许点后两位 -1 {:+.2f} -1 带鲜艳保留少许点后两位 2.71828 {:.0f} 3 不带少许 5 {:0>2d} 5 数字补零 (填充左边, 宽度为2) 5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4) 10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4) 1000000 {:,} 1,000,000 以逗号分隔的数字神志 0.25 {:.2%} 25.00% 百分比神志 1000000000 {:.2e} 1.00E+09 指数记法 18 {:>10d} ' 18' 右对齐 (默许, 宽度为10) 18 {:<10d} '18 ' 左对齐 (宽度为10) 18 {:^10d} ' 18 ' 中间对齐 (宽度为10)

 

 





Powered by 东北女人毛多水多牲交视频 @2013-2022 RSS地图 HTML地图