鱼C论坛

 找回密码
 立即注册
查看: 965|回复: 0

[技术交流] cookbook 1.2

[复制链接]
发表于 2022-1-16 22:58:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

任意长度的可迭代对象中分割元素

问题描述:
        从某一个可迭代序列中分割N个元素,但它长度大于N个

一、可以用 *变量 来代替任意数量的元素
  1. data = [1, 2, 3, 4, 5, 5]
  2. *price, number = data  # list, int
  3. print(*price, number, sum(price) / number)
复制代码
1 2 3 4 5 5 3.0

注意一个语句中只能出现一个*号
*price, number, *other = data  
*price, number = data  


二、迭代一个变长且带有标记的元组
  1. data = [
  2.     ("foo", 1, 2),
  3.     ("bar", "大马强"),
  4.     ("foo", 3, 4)
  5. ]
  6. # 通过[0]就能辨别

  7. def print_foo(name, x, y):
  8.     print(name, x, y)


  9. def print_bar(name, str_):
  10.     print(name, str_)


  11. for i, *arg in data:
  12.     if i == "foo":
  13.         print_foo(i, *arg)
  14.     elif i == "bar":
  15.         print_bar(i, *arg)
复制代码
foo 1 2
bar 大马强
foo 3 4


三、分割字符串
  1. data = "C:\\Users\\14326\\Desktop\\新建文件夹\\网络安全及运用"
  2. pan, *_,  kemu = data.split("\")
  3. print(pan, kemu, *_)
复制代码
C: 网络安全及运用 Users 14326 Desktop 新建文件夹

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 06:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表