cookbook 1.2
任意长度的可迭代对象中分割元素
问题描述:
从某一个可迭代序列中分割N个元素,但它长度大于N个
一、可以用 *变量 来代替任意数量的元素
data =
*price, number = data# list, int
print(*price, number, sum(price) / number)
1 2 3 4 5 5 3.0
注意一个语句中只能出现一个*号
*price, number, *other = data
*price, number = data
二、迭代一个变长且带有标记的元组
data = [
("foo", 1, 2),
("bar", "大马强"),
("foo", 3, 4)
]
# 通过就能辨别
def print_foo(name, x, y):
print(name, x, y)
def print_bar(name, str_):
print(name, str_)
for i, *arg in data:
if i == "foo":
print_foo(i, *arg)
elif i == "bar":
print_bar(i, *arg)
foo 1 2
bar 大马强
foo 3 4
三、分割字符串
data = "C:\\Users\\14326\\Desktop\\新建文件夹\\网络安全及运用"
pan, *_,kemu = data.split("\\")
print(pan, kemu, *_)
C: 网络安全及运用 Users 14326 Desktop 新建文件夹
页:
[1]