python经典代码示例,有趣的python代码示例

  python经典代码示例,有趣的python代码示例

  大家好,本文主要和大家分享Python中13个非常有用的代码片段。有兴趣的同学过来看看,对你有帮助的记得收藏。

  00-1010 1.将两个列表合并成一个字典2。将两个或多个列表合并成一个包含列表3的列表。排序字典列表4。排序字符串列表5。根据另一个列表对列表进行排序。将列表映射到字典7。合并两个或多个字典。反转字典9。使用F弦10。正在检查子字符串11。获取字节数为11的字符串的大小

  让我们从最常用的数据结构列表开始。

  

目录

  假设我们在Python中有两个列表,我们想将它们合并成字典形式,其中一个列表的项作为字典的键,另一个作为值。这是用Python写代码时很常见的问题。

  但是为了解决这个问题,我们需要考虑几个限制,比如两个列表的大小,两个列表中元素的类型,以及其中是否有重复的元素,尤其是当我们使用元素作为键的时候。我们可以通过使用zip等内置函数来解决这些问题。

  keys_list=[A , B , C]

  values_list=[blue , red , bold]

  # there 3 waystoconverttthesetwolistsintodictionary

  # 1-使用Python的sip,dictfunctionz

  dict _ method _ 1=dict(zip(key _ list,values_list))

  # 2-使用带有说明的zipfunctions

  dict _ method _ 2={ key : valueforkey,valueinzip(keys_list,values_list)}

  # 3-使用带有循环的zipfunctions

  items_tuples=zip(keys_list,values_list)

  字典方法3={}

  forkey,valueinitems_tuples:

  ifkeyindict _ method _ 3:

  传递# Toavoidrepeatingkeys。

  else:

  字典方法3[关键字]=值

  

1.将两个列表合并成一个字典

  另一个常见的任务是,当我们有两个或更多的列表时,我们希望将它们收集到一个大列表中,其中较小列表的所有第一个项目构成了较大列表中的第一个列表。

  例如,如果我们有4个列表[1,2,3],[a , b , c],[h , e , y]和[4,5,6],我们想为这四个列表创建一个新列表;它将是[[1, a , h ,4],[2, b , e ,5],[3, c , y ,6]]

  defmerge(*args,missing_val=None):

  # missing _ valwillbused whoneofthesmallistsishorterthamtheothers。

  # getthemaximumlength withinthesmallerlists。

  max _ length=max([len(lst)for lstinargs])

  outList=[]

  foriinrange(max_length):

  result . append([args[k][I]ifilen(args[k])elsemissing _ valforkinrange(len(args))])

  returnoutList

  

2.将两个或多个列表合并为一个包含列表的列表

  这组每日列表任务是对任何

  务,根据列表中包含的元素的数据类型,我们将采用稍微不同的方式对它们进行排序。

  

dicts_lists = [

    {

      "Name": "James",

      "Age": 20,

    },

    {

       "Name": "May",

       "Age": 14,

    },

    {

      "Name": "Katy",

      "Age": 23,

    }

  ]

  #There are different ways to sort that list

  #1- Using the sort/ sorted function based on the age

  dicts_lists.sort(key=lambda item: item.get("Age"))

  #2- Using itemgetter module based on name

  from operator import itemgetter

  f = itemgetter(Name)

  dicts_lists.sort(key=f)

  

  

  

4.对字符串列表进行排序

  我们经常面临包含字符串的列表,我们需要按字母顺序、长度或我们想要或我们的应用程序需要的任何其他因素对这些列表进行排序

  

my_list = ["blue", "red", "green"]

  #1- Using sort or srted directly or with specifc keys

  my_list.sort() #sorts alphabetically or in an ascending order for numeric data 

  my_list = sorted(my_list, key=len) #sorts the list based on the length of the strings from shortest to longest. 

  # You can use reverse=True to flip the order

  #2- Using locale and functools 

  import locale

  from functools import cmp_to_key

  my_list = sorted(my_list, key=cmp_to_key(locale.strcoll)) 

  

  

  

5.根据另一个列表对列表进行排序

  有时,我们可能需要使用一个列表来对另一个列表进行排序,因此,我们将有一个数字列表(索引)和一个我们想使用这些索引进行排序的列表

  

a = [blue, green, orange, purple, yellow]

  b = [3, 2, 5, 4, 1]

  #Use list comprehensions to sort these lists

  sortedList =  [val for (_, val) in sorted(zip(b, a), key=lambda x: \

            x[0])]

  

  

  

6.将列表映射到字典

  列表代码片段的最后一个任务,如果给定一个列表并将其映射到字典中,也就是说,我们想将我们的列表转换为带有数字键的字典

  

mylist = [blue, orange, green]

  #Map the list into a dict using the map, zip and dict functions

  mapped_dict = dict(zip(itr, map(fn, itr)))

  

  Dictionary Snippets

  现在处理的数据类型是字典

  

  

7.合并两个或多个字典

  假设我们有两个或多个字典,并且我们希望将它们全部合并为一个具有唯一键的字典

  

from collections import defaultdict

  #merge two or more dicts using the collections module

  def merge_dicts(*dicts):

    mdict = defaultdict(list)

    for dict in dicts:

      for key in dict:

        res[key].append(d[key])

    return dict(mdict)

  

  

  

8.反转字典

  一个非常常见的字典任务是如果我们有一个字典并且想要翻转它的键和值,键将成为值,而值将成为键

  当我们这样做时,我们需要确保没有重复的键。值可以重复,但键不能,并确保所有新键都是可以 hashable 的

  

my_dict = {

    "brand": "Ford",

    "model": "Mustang",

    "year": 1964

  }

  #Invert the dictionary based on its content

  #1- If we know all values are unique.

  my_inverted_dict = dict(map(reversed, my_dict.items()))

  #2- If non-unique values exist

  from collections import defaultdict

  my_inverted_dict = defaultdict(list)

  {my_inverted_dict[v].append(k) for k, v in my_dict.items()}

  #3- If any of the values are not hashable

  my_dict = {value: key for key in my_inverted_dict for value in my_inverted_dict[key]}

  

  String Snippets

  接下来是字符串的处理

  

  

9.使用 f 字符串

  格式化字符串可能是我们几乎每天都需要完成的一项任务,在 Python 中有多种方法可以格式化字符串,使用 f 字符串是比较好的选择

  

#Formatting strings with f string.

  str_val = books

  num_val = 15

  print(f{num_val} {str_val}) # 15 books

  print(f{num_val % 2 = }) # 1

  print(f{str_val!r}) # books

  #Dealing with floats

  price_val = 5.18362

  print(f{price_val:.2f}) # 5.18

  #Formatting dates

  from datetime import datetime;

  date_val = datetime.utcnow()

  print(f{date_val=:%Y-%m-%d}) # date_val=2021-09-24

  

  

  

10.检查子串

  一项非常常见的任务就是检查字符串是否在与字符串列表中

  

addresses = ["123 Elm Street", "531 Oak Street", "678 Maple Street"]

  street = "Elm Street"

  #The top 2 methods to check if street in any of the items in the addresses list

  #1- Using the find method

  for address in addresses:

      if address.find(street) >= 0:

          print(address)

  #2- Using the "in" keyword 

  for address in addresses:

      if street in address:

          print(address)

  

  

  

11.以字节为单位获取字符串的大小

  有时,尤其是在构建内存关键应用程序时,我们需要知道我们的字符串使用了多少内存

  

str1 = "hello"

  str2 = "

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: