python拆分unpacking

通过unpacking来赋值要比通过下标去访问元组内的元素更清晰,所需代码量通常也比较少

favorite_snacks = {
	'salty': ('pretzels', 100),
	'sweet': ('cookies', 180),
	'veggie': ('carrots', 20),
}
((type1, (name1, cal1)),
 (type2, (name2, cal2)),
 (type3, (name3, cal3))) = favorite_snacks.items()
print(f"Favorite {type1} is {name1} with {cal1} calories") 

可以通过unpacking原地交换两个变量,不需要专门创建临时变量

list1 = ['a', 'c', 'b']
# change list[1] list[2]
tmp = list[1]
list[1] = list[2]
list[2] = tmp

# unpacking
list[1], list[2] = list[2], list[1]

原因:python处理赋值操作的时候,先对等号右边求值,会新建一个临时元组,将其存入这个元组里(‘b’, ‘c’),然后python对这个临时元组做unpacking,把它里面的元素分别放到等号左边的位置,于是list[1]=‘b’, list[2]=‘c’,做完unpacking后,系统会扔掉这个临时元组

snacks = [('bacon', 350), ('donut', 240)]
for i in range(len(snacks)):
	item = snacks[i]
	name = item[0]
	calories = item[1]
	print(f'#{n+1}:{name} has {calories} calories')

# unpacking
for rank, (name, cal) in enumerate(snacks, 1):
	print(f'#{rank}:{name} has {cal} calories')
  • unpacking机制运用:构建列表、给函数设计参数列表、传递关键字参数、接收多个返回值等

  • 凡是可迭代的对象都能拆分,无论里面还有多少层迭代结构

  • 尽量通过unpacking来拆解序列中的数据,而不要通过下标访问,这样可以让代码更简洁清晰

### 回答1: 在 Python 中,`split()` 方法是字符串对象的一个方法,用于将字符串按照指定的分隔符进行分割,并返回一个包含分割后的子字符串的列表。 `split()` 方法的语法如下: ```python string.split(separator, maxsplit) ``` 其中,`separator` 为分隔符,可以是一个字符串或一个字符集合。如果不指定分隔符,则默认以空格为分隔符。`maxsplit` 可选,表示分割次数,即最多分割出几个子字符串,如果不指定或为负数,则表示分割所有。 下面是一个简单的例子,演示了如何使用 `split()` 方法将一个字符串按照空格分割成多个单词: ```python str = "Hello World" words = str.split() print(words) ``` 输出结果为: ```python ['Hello', 'World'] ``` 注意,`split()` 方法返回的是一个列表。如果需要将分割后的子字符串存储到多个变量中,可以使用 Python 的解包(unpacking)特性,例如: ```python str = "John,Doe,1984" first_name, last_name, birth_year = str.split(',') print(first_name) print(last_name) print(birth_year) ``` 输出结果为: ```python John Doe 1984 ``` ### 回答2: Python中的split()是一个字符串方法,它被用于将一个字符串拆分成一个由多个子字符串组成的列表。它接受一个可选的分隔符参数,该参数用于指定在哪个字符处将字符串分割开。如果没有提供分隔符参数,则默认使用空格。 split()方法返回一个列表,其中包含了被分割后的子字符串。这使得我们能够方便地处理和操作字符串的不同部分。 例如,假设我们有一个字符串"Hello World! This is Python."。我们可以使用split()方法将它拆分成一个包含每个单词的列表,例如['Hello', 'World!', 'This', 'is', 'Python.']。我们还可以使用split()方法将一个包含多个数字的字符串拆分成一个数字列表,例如['100', '200', '300']。 我们可以通过在split()方法中添加分隔符参数来指定不同的拆分方式。例如,如果我们使用逗号作为分隔符,我们可以将一个包含多个人名的字符串拆分成一个人名列表。示例代码如下: ``` names = "John, Jane, James, Emily" name_list = names.split(",") print(name_list) # 输出 ['John', ' Jane', ' James', ' Emily'] ``` 在上面的例子中,我们将一个字符串names使用逗号作为分隔符进行拆分,并将拆分后的子字符串存储在名为name_list的列表中。 总之,Python中的split()方法是用于将字符串拆分成子字符串列表的一个便捷工具,同时也提供了分隔符参数,使得我们能够根据不同的拆分需求来进行字符串的处理和操作。 ### 回答3: python中的split()是一个字符串方法,用于拆分字符串并返回拆分后的子串列表。它根据指定的分隔符来拆分字符串,默认情况下使用空格作为分隔符。 下面是split()方法的使用示例: ```python s = "Hello World! Welcome to Python" result = s.split() # 默认使用空格作为分隔符 print(result) # 输出: ['Hello', 'World!', 'Welcome', 'to', 'Python'] ``` 我们也可以根据需要自定义分隔符,将字符串拆分为子串。例如: ```python s = "apple,banana,orange,mango" result = s.split(",") # 使用逗号作为分隔符 print(result) # 输出: ['apple', 'banana', 'orange', 'mango'] ``` split()方法还可以指定一个参数来限制拆分后的子串数量。例如,我们可以限制只拆分前两个子串并忽略剩余部分: ```python s = "apple,banana,orange,mango" result = s.split(",", 2) # 使用逗号作为分隔符,限制拆分只到前两个子串 print(result) # 输出: ['apple', 'banana', 'orange,mango'] ``` 此外,如果在split()方法中不传递任何参数,则默认使用连续的空格作为分隔符。这意味着多个连续空格将被视为一个分隔符进行拆分。 ```python s = "Hello World! Welcome to Python" result = s.split() print(result) # 输出: ['Hello', 'World!', 'Welcome', 'to', 'Python'] ``` 总而言之,split()方法是一个非常有用的字符串方法,可以方便地将字符串拆分为子串列表,在处理文本数据和字符串处理中经常会被使用到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值